mongoose聚合分组(aggregate, group)的简单使用记录,直接上代码
数据模型
1 | # model/report.js |
以某个字段分组
- aggregate group使用:如果需要分组的字段为
cname
,那么_id
对应的值就为$cname
1 | const dataByDate = await this.model('report').aggregate([ |
- 输出结果
1 | [ |
多个维度
上面是通过字段cname
来分组,如果我们同时想统计每天的每个cname
的数量呢?如下,_id
里指定两个分组条件,然后使用$project
给分组后数据字段重命名,然后继续分组
1 | const data = await this.model('report').aggregate([ |
输出
1 | [ |
更多用法,参考官方文档