mongo分组查询(转)

Posted chwlearningnotes

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。















以上是关于mongo分组查询(转)的主要内容,如果未能解决你的问题,请参考以下文章

Mongo时间戳转日期以及日期分组

Mongo 条件查询,连表查询,分组查询

Mongo 条件查询,连表查询,分组查询

mongo多个字段进行分组查询

mongo分组统计(group)

用于收集超过 1000 万条记录的 Mongo 查询优化