【问题标题】:MongoDB Aggregation: calculation for every unique/distinct valueMongoDB聚合:计算每个唯一/不同的值
【发布时间】:2018-07-30 12:37:29
【问题描述】:

我从收藏中得到了这个数据集

{
    item: 124001
    price: 6
},
{
   item: 124001
   price: 6
},
{
   item: 124121
   price: 16
},
{
    item: 124121
    price: 13
},
{
   item:n
   price: x
}

来自代码:

let INDX = [xxx,xxx,xxx,xxx, ..n]
auctions.aggregate([
    {
        $match: { item: { $in: INDX }}
    }

问题就在它之后,在 $group 阶段。例如,我想为每个独特/独特的商品收到 $min、$max 或 $avg 'price'。

当我尝试使用时:

{
    $group: {
        min_1: { $min: "$price",}
    }
}

我从所有数据中只收到 $min,

[ { _id: 0, min_1: 0 } ]

但我需要类似的东西:

{ _id: 124119, min_1: 66500 },
{ _id: 124437, min_1: 26398 }

【问题讨论】:

    标签: javascript mongodb mongoose aggregation-framework


    【解决方案1】:

    好的,这是一个简单的答案:

    不要忘记 _id 字段并在 $group 阶段使用它,就像:

        {
            $group: {
                _id: "$item",
                min_1: {
                    $min: '$price',
                }
            }
        }
    

    【讨论】:

      猜你喜欢
      • 2013-09-01
      • 2020-10-06
      • 1970-01-01
      • 1970-01-01
      • 2018-05-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-13
      相关资源
      最近更新 更多