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

如何过滤MongoDB中to_do数组含Pulse的嵌套结构文档

MongoDB嵌套数组文档过滤方案

针对你这种数组→对象→数组的嵌套结构,要筛选出chapters数组中存在对象的to_do数组包含"Pulse"的文档,不需要复杂的$elemMatch,直接用MongoDB的点符号穿透查询即可。

核心查询语句

db.your_collection_name.find({
  "chapters.to_do": "Pulse"
})

原理说明

MongoDB的点符号支持穿透嵌套的数组和对象:

  • chapters是顶层数组,点符号会遍历数组里的每一个对象元素
  • .to_do指向每个chapter对象中的数组,查询条件"Pulse"会检查该数组是否包含目标值
  • 只要有任意一个chapter对象的to_do数组包含"Pulse",整个文档就会被匹配返回

复杂场景扩展(可选)

如果需要同时匹配chapter对象的其他字段(比如指定team_oid),再用$elemMatch组合多条件:

db.your_collection_name.find({
  chapters: {
    $elemMatch: {
      team_oid: "62754ff055aa93f004befb2c",
      to_do: "Pulse"
    }
  }
})

这个查询只会返回那些存在某个chapter对象,同时满足team_oid匹配且to_do包含Pulse的文档。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 03:55:21