我有两个模式,我一直在使用它们在我的基本站点上运行用户和权限。该站点由一个 express.js 框架和 mongoose over mongodb 组成。架构看起来与此类似:
UserSchema = new Schema({
Name: { type: String },
Email: { type: String },
Roles: [{ type: ObjectId, ref: 'Role' }]
});
RoleSchema = new Schema({
Name: { type: String }
})
我可以插入具有或不具有角色的用户,并且可以毫无问题地创建角色。当我删除角色时会出现此问题。用户最终会维护对它的引用,并在尝试搜索用户角色时导致问题。我需要做的是
UserModel.find({ })
.where('Roles').contains(roleID)
.exec(function(err, users) { })
这应该只给我具有该角色的用户。有任何想法吗?