mongo分组查询(转)

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是什么值,都将它添加到数组中。


作者:似水之星
链接:https://www.jianshu.com/p/185d699c914a
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
posted @ 2018-12-07 17:35  渔阳nice  阅读(296)  评论(0编辑  收藏  举报