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

如何从aggregate聚合结果中提取person_id字段生成扁平结构

MongoDB聚合查询结果扁平化实现方案

你可以在现有聚合管道的末尾追加额外的阶段实现嵌套字段提取,有两种常用实现方式:

方案1:使用$project显式提取字段

适合你只需要提取person_id单个字段的场景,写法直观:

// 你的现有聚合逻辑后面添加以下阶段
{
  $project: {
    _id: 0,
    person_id: "$_id.person_id"
  }
}

参数说明:

  • _id: 0 表示最终结果不返回默认的_id字段
  • person_id: "$_id.person_id" 表示从嵌套的_id结构中读取person_id的值,作为顶层的person_id字段返回

方案2:使用$replaceRoot直接提升嵌套结构

适合_id下嵌套字段较多的场景,不需要逐个声明要提取的字段:

// 你的现有聚合逻辑后面添加以下阶段
{
  $replaceRoot: {
    newRoot: "$_id"
  }
}

这个阶段会直接把_id对应的整个嵌套对象替换为最终返回的文档结构,一步完成扁平化。

内容的提问来源于stack exchange,提问作者Zbigniew Szczęsny

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 12:27:05