$group
- 將集合中的文檔分組,可用于統(tǒng)計(jì)結(jié)果
- _id表示分組的依據(jù),使用某個字段的格式為'$字段'
- 例1:統(tǒng)計(jì)男生、女生的總?cè)藬?shù)
db.stu.aggregate([
{$group:
{
_id:'$gender',
counter:{$sum:1}
}
}
])
Group by null
- 將集合中所有文檔分為一組
- 例2:求學(xué)生總?cè)藬?shù)、平均年齡
db.stu.aggregate([
{$group:
{
_id:null,
counter:{$sum:1},
avgAge:{$avg:'$age'}
}
}
])
透視數(shù)據(jù)
- 例3:統(tǒng)計(jì)學(xué)生性別及學(xué)生姓名
db.stu.aggregate([
{$group:
{
_id:'$gender',
name:{$push:'$name'}
}
}
])
- 使用$$ROOT可以將文檔內(nèi)容加入到結(jié)果集的數(shù)組中,代碼如下
db.stu.aggregate([
{$group:
{
_id:'$gender',
name:{$push:'$$ROOT'}
}
}
])