当前位置: 首页 > 工具软件 > Group-buying > 使用案例 >

$group

朱昊乾
2023-12-01

$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'}
            }
        }
    ])



 类似资料: