Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mongodb不返回任何匹配查询的结果_Mongodb_Mongodb Query - Fatal编程技术网

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()
时,是否可以将结果粘贴到这里?