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

MongoDB聚合后如何将days数组的内嵌data对象字段提升至父级

可以实现,你可以在现有聚合管道后追加一个$set阶段处理days数组即可,核心是通过$map遍历数组元素,配合$mergeObjects将内嵌data的字段提升到父层级。

具体的聚合阶段示例如下:

// 你原来的聚合逻辑保留在前方,追加以下阶段
{
  $set: {
    "data.days": {
      $map: {
        input: "$data.days",
        as: "dayItem",
        in: {
          $mergeObjects: [
            // 保留days元素原有的外层字段
            { _id: "$$dayItem._id", day: "$$dayItem.day" },
            // 合并data对象的所有字段到父层级
            "$$dayItem.data",
            // 覆盖data内部的_id,保留days元素原本的_id
            { _id: "$$dayItem._id" }
          ]
        }
      }
    }
  }
}

如果需要保留data内部的_id字段,删除上述代码中最后一行的{ _id: "$$dayItem._id" }即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 05:15:06