kaldj12lasasd
是一个组ID)。此外,如果它有助于我使用https://atmospherejs.com/alanning/roles
来帮助管理角色和组。
当从Groups集合中删除组时,我从集合挂钩运行此代码。我想从每个用户中删除所有groupId字段,并将该groupId作为字段。
# User obj
user = {
kaldj12lasasd: ['admin', 'read', 'write']
}
# Remove it from every users' role array
unsetObj = {};
unsetObj[group._id] = "";
Meteor.users.update({}, {$unset: unsetObj});
答案 0 :(得分:1)
根据docs,角色在用户的roles
子字段上定义 - 而不是直接在对象上定义。您似乎希望unsetObj
看起来像{'roles.kaldj12lasasd: ''}
。此外,您似乎缺少{multi: true}
,以便更新影响多个文档。试试这个:
var unsetObj = {};
unsetObj['roles.' + group._id] = '';
Meteor.users.update({}, {$unset: unsetObj}, {multi: true});