1、 多字段分组
{"$group":{"_id":
{"state": "$state", "city": "$city"}}
}
根据state和city两个字段分组统计数据。
2、 算术操作符
- "$sum": value
得到每个国家的总收入:
db.sales.aggregate{
{
"$group":{
"_id":"$country",
"totalRevenue":{"$sum":"$revenue"}
}
}}
- "$avg":value
返回每个分组的平均值。
3、极值操作符 - "$max":value
返回分组中最大值。 - "$min":value
返回分组中最小值。 - "$first":value
返回分组中第一个值。 - "$last":value
返回分组中最后一个值。
db.scores.aggregate{
{
"$group":{
"_id":"$grade",
"lowestScore":{"$min":"$score"},
"highestScore":{"$max":"$score"}
}
}}
有序的时候用first和last效率更高。否则用min和max。
4、数组操作符
- "$addToSet":expr
如果当前数组中不包含expr,那就将它添加到数组中。没有重复的值。 - "$push":expr
不管expr是什么值,都将它添加到数组中。
网友评论