我一直在寻找这个问题,但似乎我无法找到确切的词语来寻找那些我无法找到答案的原因。无论如何,就是这样:
我有用户列表,每个用户都有好友列表。 (用户可以拥有相同的朋友)。我想首先找到用户的ID,然后是朋友列表中的朋友。
User :
{ firstUser, secondUser }
firstUser: { name, friendList }
secondUser: {name, friendList }
friendList (of firstUser) : {
{ name: Jhon Doe, age: 5 }
{ name: mickey, age: 23 }
}
friendList (of secondUser) : {
{ name: Jhon Doe, age: 5 }
{ name: jane, age: 23 }
}
正如你所看到的,我无法使用$ elemMatch和$ in,因为两个用户都可以拥有相同的朋友。
User.findOne( {id: req.query._id }, function(err, user){
//what to do here?
});
答案 0 :(得分:0)
假设您拥有该朋友的ID,您只需拨打var friend = user.friendList.id(friendId);