如何搜索集合以在MongoDB

时间:2016-05-10 17:50:27

标签: mongodb mongodb-query robo3t

Screenshot of database in Robomongo

在上面的屏幕截图中,您可以看到我在我的mongo数据库中的 tests 集合中打开了一个名为(1)ObjectId(572b ... ec7a)的文档。 (测试集合中包含这样的文档)在屏幕截图的底部附近,您可以看到名为名称的字段是类型字符串,其值为 EditMessagesSettings 即可。我想查询测试集合并返回包含特定名称的任何文档(例如,在这种情况下为 EditMessagesSettings )。我怎么能这样做?

以下是我尝试过的一些没有成功的查询,收到回复消息,例如 4ms 中提取的0条记录。

  • db.getCollection( '试验')找到({名称: “EditMessagesSettings”})。
  • db.getCollection( '试验')找到({名称:{$正则表达式: “设置”}})。

编辑:如果是任何星座,如果我输入 db.getCollection('tests')。find({Obj}),我会得到 ObjectId的自动完成选项(

2 个答案:

答案 0 :(得分:3)

我可以看到问题出在哪里。您需要使用两个下划线而不是一个。请参阅以下示例:

_value与正确的__value。

所以你的查询应该是这样的:

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

答案 1 :(得分:0)

尝试

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