问题:
我有一个'Group'系列。每个小组都有一个嵌入的“会员”文件。我需要通过'MemberID'提取特定成员,并从'用户'集合中获取所有详细信息。我想使用'.populate()'方法执行此操作,但只需要填充该单个成员的记录而不是所有成员记录。
所以我的查询如下:
DB.model('groups')
.findById(groupID)
.populate('members._user')
.run(function(err, group){
// then loop over every member and return the one that matches
// the member id we require
});
这似乎是一种非常低效的处理方式,因为我只需要组中一个成员的用户详细信息!我只有memberID而不是userID所以这就是我要去成员集合的原因。
如何从嵌入的“成员”文档中提取单个成员并填充它?
答案 0 :(得分:1)
populate
函数有3个参数:path
,fields
和conditions
。当通过单独调用fields
填充所引用的文档时,将应用conditions
和model.find(...)
。尝试传递populate
一个有效的mongodb条件,该条件只会返回您感兴趣的成员。