ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
## $group * 将集合中的文档分组,可用于统计结果 * _id表示分组的依据,使用某个字段的格式为'$字段' * 例1:统计男生、女生的总人数 ~~~ db.stu.aggregate([ {$group: { _id:'$gender', counter:{$sum:1} } } ]) ~~~ ## Group by null * 将集合中所有文档分为一组 * 例2:求学生总人数、平均年龄 ~~~ db.stu.aggregate([ {$group: { _id:null, counter:{$sum:1}, avgAge:{$avg:'$age'} } } ]) ~~~ ## 透视数据 * 例3:统计学生性别及学生姓名 ~~~ db.stu.aggregate([ {$group: { _id:'$gender', name:{$push:'$name'} } } ]) ~~~ * 使用$$ROOT可以将文档内容加入到结果集的数组中,代码如下 ~~~ db.stu.aggregate([ {$group: { _id:'$gender', name:{$push:'$$ROOT'} } } ]) ~~~