【发布时间】:2018-06-13 13:20:16
【问题描述】:
我有以下用户文档。我想返回friends.name等于“Bob”的所有“朋友”的列表。
{
"_id" : ObjectId("5a4be9f200471a49d2e23ce4"),
"name": "James"
"friends" : [
{
"_id" : ObjectId("5a4be9f200471a49d2e23ce6"),
"dob" : ISODate("2018-01-02T00:00:00.000Z"),
"name" : "Bob"
},
{
"_id" : ObjectId("5a4be9f200471a49d2e23ce5"),
"dob" : ISODate("2018-01-02T00:00:00.000Z"),
"name" : "Fred"
}
],
"__v" : 0
}
当我尝试使用以下查询时,它可以正常工作,但会返回整个朋友列表,而不仅仅是 Bob。
User.findOne({ "friends.name": "Bob" }, function(err, friends) {
if(err) return next(err);
res.send(friends);
});
我如何查询才能只返回 Bob 对象而不返回 Fred?
【问题讨论】: