2

我已经为我有查询以获取特定用户的组的组实现了 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){ });

请给我这两个查询的优缺点。

4

0 回答 0