我能够用这个代码获得User
文档
Users.findOne(userId)
CCD_ 2也是这样。
{
"_id" : "123sdasdasd",
"createdAt" : ISODate("2022-06-15T20:36:01.549+0000"),
"archived" : false,
"roles" : {
"internal" : [
"admin",
"maneger"
],
"client" : [
"admin",
"maneger",
"normal-user",
],
"other" : [
"admin",
"maneger",
"normal-user",
"manage"
],
},
"username" : "sample@gmail.com"
}
我在这里的目标是确保这个用户是否有一个包含client
的roles
列。
我相信这是在服务器端,但我的部分代码看起来是这样的。
Roles.removeUsers = (userId, groupName) => {
console.log(Users.findOne(userId)); // got document successfully
console.log(Users.findOne(userId).roles[groupName]); // got undefined
if (Users.findOne(userId).roles[groupName].length < 1) {
sampledataUpdate.$pull.userIds = userId;
}
};
groupName
可以是internal
、client
、other
或其他字符串。
目前,我将groupName
作为client
。
如何确保该用户在roles
列中是否有client
?
另一个小问题是,如果你看看上面的数据结构,
我能把roles
说成column
吗?
_id
、createdAt
、archived
是column
?
以及列内部(在这种情况下为角色(,描述internal
、Users
0或other
的正确单词是什么?那是key
吗?
谢谢!
我能够用这种方式完成它。
if (Users.find({ _id: userId, [`roles.${groupName}`]: { $exists: true }}).count()) {
// .......
}