在上面的屏幕截图中,您可以看到我在mongo数据库中打开了名为(1)objectid(572b…ec7a)的测试集合文档。(tests集合中充满了这样的文档)在屏幕截图的底部,您可以看到一个名为name的字段,它是一个值为editmessagessettings的string类型。我想查询tests集合并返回包含特定名称的任何文档(如本例中的editmessettings)。我该怎么做?
下面是一些我尝试过但没有成功的查询,得到一条返回消息,比如4ms内获取的0条记录。
db.getcollection('tests').find({name:“editMessagesSettings”})
db.getcollection('tests').find({name:{$regex:“settings”})
编辑:如果它是任何星座,如果我输入db.getcollection('tests').find({obj}),我将获得objectid(.)的自动完成选项。
最佳答案
我能看出问题在哪里。你需要用两个下划线而不是一个。请参见下面的示例:
_价值与正确的价值。
所以你的问题应该是:
db.getCollection('tests').find({"Data.__value.Name":"EditMessagesSettings"})
关于mongodb - 如何搜索集合以在MongoDB中的某个文档中查找嵌套值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37145640/