我的数据就像
myData[
{
id : 1,
name : "a1",
order : {
id : 1,
name : "o1",
status : "2"
}
},
{
id : 2,
name : "a2",
order : {
id : 1,
name : "o1",
status : "2"
}
},
{
id : 3,
name : "a1",
order : {
id : 1,
name : "o2",
status : "3"
}
}
]
当我试图查询时:
db.myData.find({
"order" : {
id : 1
}
})
与
相同db.myData.find({ "order.id" : 1})
我预计会有3个结果但是当我尝试
时它什么也没有返回db.myData.find({
"order" : {
id : 1,
name : "o2",
status : "3"
}
})
它返回一个结果。问题在哪里?
答案 0 :(得分:1)
我认为你做错了什么。
db.myData.find({ "order" : { id : 1 } })
肯定不会返回任何内容,因为它会查找特定的子文档{id : 1}
。
另一方面,第二个查询应该可以正常运行:db.myData.find({ "order.id" : 1})
,尤其是db.myData.find({ "order" : { id : 1, name : "o2", status : "3" } })
为您提供的内容。
答案 1 :(得分:0)
db.mydata.find({"order.id" : 1})
此查询应该可以正常工作。看起来您在某处覆盖了文档的默认_id
字段行为。