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 | [ |
更多用法,参考官方文档