如何在MongoDB中搜索集合以在其中一个文档中找到嵌套值
在上面的屏幕截图中,您可以看到我已经从我的mongo数据库中的测试集打开了一个名为(1)ObjectId(572b…ec7a)的文档。(tests集合中充满了这样的文档)在屏幕截图底部附近,您可以看到一个名为Name的字段,它是一个字符串类型,值为EditMessagesSettings。我想查询测试集合,并返回包含特定名称的任何文档(如本例中的编辑消息设置)。我该怎么做 下面是一些我尝试过但没有成功的查询,得到的返回消息类似于4ms内获取的0条记录如何在MongoDB中搜索集合以在其中一个文档中找到嵌套值,mongodb,mongodb-query,robo3t,Mongodb,Mongodb Query,Robo3t,在上面的屏幕截图中,您可以看到我已经从我的mongo数据库中的测试集打开了一个名为(1)ObjectId(572b…ec7a)的文档。(tests集合中充满了这样的文档)在屏幕截图底部附近,您可以看到一个名为Name的字段,它是一个字符串类型,值为EditMessagesSettings。我想查询测试集合,并返回包含特定名称的任何文档(如本例中的编辑消息设置)。我该怎么做 下面是一些我尝试过但没有成功的查询,得到的返回消息类似于4ms内获取的0条记录 db.getCollection('tes
- db.getCollection('tests').find({Name:“EditMessagesSettings”})
- db.getCollection('tests').find({Name:{$regex:“Settings”})
db.getCollection('tests').find({"Data._value.Name":"EditMessagesSettings"})
我可以看出问题所在。您需要使用两个下划线,而不是一个。请参见下面的示例: _值与正确的值 因此,您的查询应该如下所示:
db.getCollection('tests').find({"Data.__value.Name":"EditMessagesSettings"})
此查询的结果:在5毫秒内获取了0条记录。