MongoDB按日期分组统计指定source值的文档数量
MongoDB分组统计查询方案
你可以使用MongoDB的聚合管道实现需求,具体查询语句如下:
db.collection.aggregate([ // 过滤出source字段值为"here"的文档 { $match: { source: "here" } }, // 按date字段分组,统计每组的文档数量 { $group: { _id: "$date", count: { $sum: 1 } } }, // 调整输出格式,将分组的_id字段重命名为date,并移除默认的_id { $project: { _id: 0, date: "$_id", count: 1 } } ])
语句说明:
- $match阶段:先筛选出
source等于"here"的文档,减少后续分组处理的数据量,提升查询效率。 - $group阶段:以
date字段作为分组依据(_id: "$date"),用$sum:1累加每组的文档数量,生成count字段。 - $project阶段:调整输出结构,移除MongoDB默认生成的
_id字段,将分组标识_id重命名为date,最终输出你需要的date和count格式。
内容的提问来源于stack exchange,提问作者Adrien Chapelet
相关产品推荐
相关产品推荐

