mongodb的新手
db.myjobs.find()
获得以下结果
{ "_id" : ObjectId("52849a7b8dd61980d1b49b87"), "browser" : "FF20", "id" : "70", "jobs" : [ { "_id" : "5281d1680d0f2f2aaec5787e", "date" : "Tue Nov 12 2013 12:27:44 GMT+0530 (IST)", "id" : "29" } ], "os" : "VM-WIN7-64", "server" : "172.16.2.120" }
从上面的结果我必须根据"os" : "VM-WIN7-64"
内的id=29
jobs
我正在使用以下代码,但这不正确。
db.myjobs.find( { id: 29 } )
如何通过在"os" : "VM-WIN7-64"
内输入id
(id = 29)来获取jobs
,无需使用os
获取"id":"70"
个详细信息
答案 0 :(得分:5)
像这样:
db.myjobs.find( { "jobs.id": "29" } )
MongoDB不执行递归搜索,因此如果要在嵌套文档中查找字段,则必须使用点表示法提供字段的路径。
此外,MongoDB中的字段已输入,因此字符串"29"
不等于数字29
答案 1 :(得分:1)
您可以使用点运算符进入对象内部。
db.myjobs.find({
"jobs.id": "29"
})
答案 2 :(得分:0)
以下内容应该有效
db.myjobs.find({" jobs.id":" 29"},{" _id":0," OS&#34 ;:1})
答案 3 :(得分:0)
使用以下内容,它应该有效。如果它适用于UPVOTE
,请告诉我db.myjobs.find({id: 29})