2

Robomongo 中的数据库截图

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

以下是我尝试过的一些查询,但没有成功,得到一个返回消息,如Fetched 0 record(s) in 4ms

  • db.getCollection('tests').find({Name:"EditMessagesSettings"})
  • db.getCollection('tests').find({Name:{$regex:"Settings"}})

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

4

2 回答 2

4

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

_value 与正确的 __value。

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

db.getCollection('tests').find({"Data.__value.Name":"EditMessagesSettings"})
于 2016-05-13T10:47:40.410 回答
0

尝试

db.getCollection('tests').find({"Data._value.Name":"EditMessagesSettings"})
于 2016-05-10T17:58:51.647 回答