我为群组实施了mongodb架构设计,其中我有查询以获取特定用户的群组。我想将数据存储为给定的模式。 例如
var GroupSchema = new Schema({
name:String,
mememers: [{
userId: { Schema.ObjectId, ref: 'User'}
}]
});
和
var UserSchema = new Schema({
name:String,
email:String,
groups:[{ type:Schema.ObjectId, ref:'Group'}]
});
但我仍然感到困惑的是,查询对查询有效。
var group = Group.find({ "memebers.userId": "***UserId***"});
group.exec(function(err, groups){ });
或
var user = User.findOne({_id:"***userId**"}).populate("groups");
user.exec(function(err, user){ });
请告诉我这两个问题的正面和缺点。