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

如何在MongoDB Compass中用单聚合管道实现多统计结果?

MongoDB聚合查询实现按日期统计条目数与唯一用户数

完全可以通过单个聚合管道实现需求,具体的聚合管道如下:

[
  {
    $group: {
      _id: "$date",
      entries: { $sum: 1 },
      uniqueUsersList: { $addToSet: "$user" }
    }
  },
  {
    $project: {
      _id: 0,
      date: "$_id",
      entries: 1,
      uniqueUsers: { $size: "$uniqueUsersList" }
    }
  }
]

管道各阶段说明:

  • $group阶段:以date字段作为分组依据,$sum:1用于统计每组的总条目数(对应结果中的entries);$addToSet会自动去重,将每组内的所有不重复user收集到uniqueUsersList数组中。
  • $project阶段:将分组时的_id(即原date字段)重命名为date,隐藏默认的_id字段;保留统计好的entries,并通过$size计算uniqueUsersList数组的长度,得到该日期下的唯一用户数uniqueUsers。

你只需要将上述聚合管道复制到MongoDB Compass的聚合查询面板中,即可直接得到符合要求的结果文档。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 00:20:52