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

MongoDB分组后添加totalSum字段的实现方法

MongoDB聚合添加全局总和字段实现方案

直接给你可行的聚合管道步骤,基于你现有的分组结果修改即可:

假设你当前的聚合最后一步是按目标字段分组并计算单条数据的sum,示例如下:

{
  $group: {
    _id: "$你的分组字段",
    sum: { $sum: "$需要求和的字段" }
  }
}

在这个分组阶段之后,添加两个新的聚合阶段就能实现需求:

  1. 收集分组结果并计算全局总和
{
  $group: {
    _id: null, // 固定为null,把所有分组文档聚合到一个结果里
    items: { $push: "$$ROOT" }, // 将每个分组的完整文档推入items数组
    totalSum: { $sum: "$sum" } // 累加所有分组的sum值得到全局总和
  }
}
  1. 移除多余的_id字段(可选)
    如果不需要结果里的_id: null,可以加这个阶段去掉它:
{
  $project: {
    _id: 0
  }
}

最终得到的符合JSON规范的结果格式如下:

{
  "items": [
    { "_id": "Item1", "sum": 17 },
    { "_id": "Item2", "sum": 8 }
  ],
  "totalSum": 25
}

注:你提供的示例JSON存在语法错误(数组无法直接作为对象的同级元素),上述是功能匹配且格式合法的正确结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 14:30:51