这里我有两个文件,我需要查询才能得到title="post one"
和comments: userid="1"
我想要只获得上述条件的评论。不是所有的评论。
`{ “_id”:ObjectId(“53b7f2383ed7755c2400002e”), “标题”:“后一个”, “作者”:“鲍勃”, “已发布”:ISODate(“2014-07-05T12:40:24.0Z”), “pageViews”:NumberInt(5), “评论”: { “0”:{ “userid”:“1”, “文字”:“这很酷” }, “1”:{ “userid”:“2”, “文字”:“这很糟糕” }, “3”:{ “userid”:“3”, “text”:“这是badexample” } “4”:{ “userid”:“4”, “text”:“No Thanx” } “5”:{ “userid”:“1”, “文字”:“不好” } “6”:{ “userid”:“1”, “text”:“测试” } “7”:{ “userid”:“1”, “文字”:“没有它的好还可以” } “8”:{ “userid”:“1”, “text”:“测试ddd” }
} } `
{
"_id": ObjectId("53b7f2383ed7755c2400002e"),
"title": "Post Two",
"author": "bob",
"posted": ISODate("2014-07-05T12:40:24.0Z"),
"pageViews": NumberInt(5),
"comments": {
"0": {
"userid": "1",
"text": "this is cool"
},
"1": {
"userid": "2",
"text": "this is bad"
},
"3": {
"userid": "3",
"text": "this is badexample"
}
"4": {
"userid": "4",
"text": "No Thanx"
}
}
}
答案 0 :(得分:0)
可以像这样查询文档中的数组
db.posts.findOne({comments: { $elemMatch: { userid: 1}}, 'title':"post one"});
有关详细信息,请参阅以下问题: