【问题标题】:Get highest value given a key获取给定键的最高值
【发布时间】:2017-11-12 17:40:46
【问题描述】:

我执行了以下查询:

db.Indiv2.aggregate(
    {$unwind: '$conso'},
    {$group: {_id: {conso:'$conso.nom_commercial', region:"$region"}, sum: {$sum: 1}}},
    {$sort : {sum : -1}}
);

返回以下内容:

    {
        "_id" : {
            "conso" : "x",
            "region" : 1
        },
        "sum" : 73226.0
    },
    {
        "_id" : {
            "conso" : "x",
            "region" : 8
        },
        "sum" : 25683.0
    },
    {
        "_id" : {
            "conso" : "grandlait demi �cr�m� uht",
            "region" : 1
        },
        "sum" : 251.0
    }

有 21 个不同的地区,我试图按地区获取消费最多的商品。如何使用“sum”返回给定每个区域的最大值?

【问题讨论】:

    标签: mongodb mongodb-query aggregation-framework


    【解决方案1】:

    将以下两个阶段添加到聚合管道的末尾就足够了:

    $group: {
        _id: "$_id.region",
        "conso": {
            $first: "$_id.conso"
        },
        "sum": {
            $first: "$sum"
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2019-04-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多