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

MongoDB查询嵌套对象内数组属性匹配指定条件的文档问题

MongoDB嵌套文档数组查询异常排查

数据结构

Document:
{
  "projects": {
    "projectName" : String,
    "employees": [String]
  }
}

查询需求

筛选符合以下所有条件的文档:

  • 包含项目名称为"project1"的项目
  • 该项目的employees数组中存在员工"employee1"

问题表现

仅单独查询projects的单个嵌套属性时运行正常,添加嵌套数组的查询条件后,查询要么报错要么返回空结果。

已尝试的查询写法

原生MongoDB $elemMatch写法

db.documents.find({'projects': { $elemMatch: { name: "project1", $elemMatch: { employees: 'employee1' } } })

Meteor集合对应写法

Documents.findOne({'projects': { $elemMatch: { name: "project1", $elemMatch: { employees: 'employee1' } } })

嵌套字段直接查询写法

db.collection.find({
  "projects.projectName": "project1",
  "projects.employees": "employee1"
})

以上所有写法均未得到预期结果。

最终排查结果

经校验,上述查询语法本身不存在错误,问题根源为自身Schema定义错误,修正Schema后所有查询均可正常运行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 08:15:03