示例:
- db.approve_pool.aggregate([
- {$match: {appr_state: 2}},
- {$group: {_id: {$substr: ["$appr_time", 0, 10]}, num: {$sum: 1}}}
- ]);
$match里可以对数据进行过滤,需要那些状态的数据
$group详解:
_id是需要分组的字段,这个字段如果是时间,可对时间进行截取,再分组
普通的分组字段写法:
- db.approve_pool.aggregate([
- {$match: {appr_state: 2}},
- {$group: {_id: "$appr_state", num: {$sum: 1}}}
- ]);
num是自定义的汇总字段
$sum:1 表示满足分组条件则把num的值加1,最终得到每个分组多少条数据
如果把$sum:1 调整成$sum:2, 则查询出来就是每个分组数量的两倍