Mongodb不返回任何匹配查询的结果
我的数据就像Mongodb不返回任何匹配查询的结果,mongodb,mongodb-query,Mongodb,Mongodb Query,我的数据就像 myData[ { id : 1, name : "a1", order : { id : 1, name : "o1", status : "2" } }, { id : 2, name : "a2", order : { id : 1, name : "o1",
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"
}
})
它返回一个结果。问题出在哪里?我认为你做错了什么 显然,
db.myData.find({“order”:{id:1}})
应该不返回任何内容,因为它查找特定的子文档{id:1}
另一方面,第二个查询应该可以正常工作:db.myData.find({“order.id”:1})
,尤其是db.myData.find({“order”:{id:1,name:“o2”,status:“3”})
为您提供了一些信息
db.mydata.find({"order.id" : 1})
这个查询应该可以正常工作。看起来您正在覆盖文档的默认
\u id
字段行为。这三个文档都是子文档吗?是的,第一个是精确匹配查询,但第二个应该正确。第三个用于在线显示mongodb:在写入此处之前,DI重命名了字段。我还有一个id字段,当您运行db.mydata.findOne()
时,是否可以将结果粘贴到这里?