【问题标题】:How can I search a collection to find a nested value in one of its documents in MongoDB如何搜索集合以在 MongoDB 的其中一个文档中查找嵌套值
【发布时间】:2023-03-19 03:29:01
【问题描述】:

在上面的屏幕截图中,您可以看到我从我的 mongo 数据库中的 tests 集合中打开了一个名为 (1) ObjectId(572b...ec7a) 的文档. (tests 集合中充满了这样的文档)在屏幕截图的底部附近,您可以看到一个名为 Name 的字段,它是字符串类型,值为 编辑消息设置。我想查询 tests 集合并返回任何包含特定 Name 的文档(例如本例中的 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 的自动完成选项(.

【问题讨论】:

    标签: mongodb mongodb-query robo3t


    【解决方案1】:

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

    _value 与正确的 __value。

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

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

    【讨论】:

      【解决方案2】:

      试试

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

      【讨论】:

      • 本次查询结果:5ms内获取了0条记录。
      猜你喜欢
      • 2020-03-31
      • 2016-11-26
      • 2011-05-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-01
      • 2023-02-01
      • 1970-01-01
      相关资源
      最近更新 更多