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

MongoDB多字段求和及统计符合条件文档数的技术咨询

MongoDB聚合统计:求和tot、duration并统计有效文档数

针对你的需求,直接用MongoDB的聚合框架就能实现,具体步骤如下:

聚合查询代码

db.people.aggregate([
  // 筛选同时包含tot和duration字段的文档
  {
    $match: {
      tot: { $exists: true },
      duration: { $exists: true }
    }
  },
  // 对筛选后的文档进行聚合统计
  {
    $group: {
      _id: null, // 将所有符合条件的文档归为一组
      num: { $sum: 1 }, // 统计有效文档数量
      tot: { $sum: "$tot" }, // 求和tot字段
      duration: { $sum: "$duration" } // 求和duration字段
    }
  },
  // 移除_id字段,让结果更符合预期格式
  {
    $project: {
      _id: 0
    }
  }
])

代码说明

  • $match阶段:通过$exists操作符过滤出同时存在tot和duration字段的文档,排除无目标字段的无效文档。
  • $group阶段:指定_id: null把所有筛选后的文档合并为一组,用$sum分别完成计数和求和操作。
  • $project阶段:移除默认生成的_id字段,让输出结果完全匹配预期格式。

执行结果

运行上述命令后,会得到你想要的结果:

{ "num" : 3, "tot" : 50, "duration" : 600 }

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 07:42:13