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

如何在MongoDB多层嵌套文档中查询level5对象内的_id字段值

MongoDB嵌套字段查询方法

要获取嵌套层级下的字段值,MongoDB支持使用点符号定位嵌套结构的指定字段,以下是两种常用场景的查询语句:

1. 筛选并仅返回level5下的_id字段

使用find()方法配合投影配置即可实现:

// 无过滤条件,返回所有文档的level5._id字段
db.collection.find(
  {}, 
  { 
    "level1.level2.level3.level4.level5._id": 1, 
    _id: 0 // 排除文档默认的根_id字段
  }
)

如果需要筛选level5._id为特定值的文档,只需在第一个查询条件参数中添加匹配规则:

// 筛选level5._id = 2的文档,仅返回目标字段
db.collection.find(
  { "level1.level2.level3.level4.level5._id": 2 }, 
  { 
    "level1.level2.level3.level4.level5._id": 1, 
    _id: 0 
  }
)

默认返回的结果会保留原始嵌套结构,格式如下:

{ "level1" : { "level2" : { "level3" : { "level4" : { "level5" : { "_id" : 2 } } } } } }

2. 直接返回扁平化的_id值

如果不需要保留原始嵌套结构,可使用聚合管道直接提取字段值并重命名:

db.collection.aggregate([
  {
    $project: {
      _id: 0,
      level5Id: "$level1.level2.level3.level4.level5._id"
    }
  }
])

返回结果格式:

{ "level5Id": 2 }

内容的提问来源于stack exchange,提问作者Paweł Ada

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 13:48:01