You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MongoDB中如何在嵌套对象数组场景下使用$or组合多条件查询

解决方案:将第三个条件加入MongoDB的$or查询

没问题!你只需要把第三个条件作为新的对象添加到$or数组中,利用$elemMatch操作符来匹配嵌套数组里的复合条件。具体的查询语句如下:

cursor = record1.find({
  "$or": [
    {"City": "Berlin"},
    {"mode": "greyscale"},
    {"overlaps": {
      "$elemMatch": {
        "BB1": "itemA",
        "BB2": "itemC"
      }
    }}
  ]
})

关键说明:

  • $elemMatch用于指定数组中至少有一个元素满足所有给定的查询条件,正好契合你“overlaps数组中至少存在一个元素同时满足BB1="itemA"且BB2="itemC"”的需求。
  • 这个查询会匹配以下几类文档:
    • City为Berlin的文档(对应photo4.png)
    • mode为greyscale的文档(对应photo3.png、photo5.png)
    • overlaps数组里包含同时符合BB1=itemA且BB2=itemC元素的文档(对应photo2.png、photo4.png)

这样就能一次性覆盖你要求的三个任一条件啦。

内容的提问来源于stack exchange,提问作者Kalanit

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 09:46:00