Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.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_Robo3t - Fatal编程技术网

如何在MongoDB中搜索集合以在其中一个文档中找到嵌套值

如何在MongoDB中搜索集合以在其中一个文档中找到嵌套值,mongodb,mongodb-query,robo3t,Mongodb,Mongodb Query,Robo3t,在上面的屏幕截图中,您可以看到我已经从我的mongo数据库中的测试集打开了一个名为(1)ObjectId(572b…ec7a)的文档。(tests集合中充满了这样的文档)在屏幕截图底部附近,您可以看到一个名为Name的字段,它是一个字符串类型,值为EditMessagesSettings。我想查询测试集合,并返回包含特定名称的任何文档(如本例中的编辑消息设置)。我该怎么做 下面是一些我尝试过但没有成功的查询,得到的返回消息类似于4ms内获取的0条记录 db.getCollection('tes

在上面的屏幕截图中,您可以看到我已经从我的mongo数据库中的测试集打开了一个名为(1)ObjectId(572b…ec7a)的文档。(tests集合中充满了这样的文档)在屏幕截图底部附近,您可以看到一个名为Name的字段,它是一个字符串类型,值为EditMessagesSettings。我想查询测试集合,并返回包含特定名称的任何文档(如本例中的编辑消息设置)。我该怎么做

下面是一些我尝试过但没有成功的查询,得到的返回消息类似于4ms内获取的0条记录

  • db.getCollection('tests').find({Name:“EditMessagesSettings”})
  • db.getCollection('tests').find({Name:{$regex:“Settings”})
编辑:如果它是任何星座,如果我输入db.getCollection('tests').find({Obj}),我会得到ObjectId的自动完成选项(.

Try)

db.getCollection('tests').find({"Data._value.Name":"EditMessagesSettings"})

我可以看出问题所在。您需要使用两个下划线,而不是一个。请参见下面的示例:

_值与正确的值

因此,您的查询应该如下所示:

db.getCollection('tests').find({"Data.__value.Name":"EditMessagesSettings"})

此查询的结果:在5毫秒内获取了0条记录。