【问题标题】:MongoDB find in array in all documentsMongoDB在所有文档中的数组中查找
【发布时间】:2021-11-04 09:12:10
【问题描述】:

我有一组具有这种简化结构的文档:

{
   cards: [
       {
           id: "some string",
           ....
       },{...}{...}{...}
   ]
}

我需要查询整个文档集合并找到我定义的卡片 ID 与卡片数组中的一个对象匹配的文档。

我通常获取所有文档并在本地进行,但这是一个相当大的集合,如果可能的话,我不知道如何实现这一点。

感谢您的宝贵时间!

ps:我用的是nodejs mongoose

【问题讨论】:

    标签: arrays mongodb mongoose mongodb-query


    【解决方案1】:

    在玩弄了 mohammad Naimi 的解决方案后,我发现了正确的语法:

    db.collection.find({ car​​d:{ $elemMatch: { id: { $eq:"some string" }}}})

    【讨论】:

      【解决方案2】:
      db.collection.find({cards:{$elemMatch:{id:{$eq:"some string"}}})
      

      【讨论】:

      • 您好,感谢您的快速回复,但由于某种原因它对我不起作用。 (你错过了一个 } 但我添加了它)prnt.sc/1rhjnbp 输入后显示 0 个匹配项。我也在我的应用中尝试过,但没有运气。
      猜你喜欢
      • 2012-01-08
      • 2016-11-09
      • 2020-05-17
      • 1970-01-01
      • 1970-01-01
      • 2019-05-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多