Mongo在组聚合中减去

时间:2017-10-13 05:17:24

标签: mongodb aggregation-framework

我有一个mongo查询,我需要分组,然后从最大值中减去最小值,我有问题这样做。

这是我的问题:

{
    $group : {
        _id :  {
            type: "$type",
            id : "$id"
            },
        sent : {$subtract: [{$max : "$value"}, {$min : "$value"}]}
    }
}

但我收到此错误消息:

  

$ subtract累加器是一元运算符

我想知道如何在小组赛阶段中减去。

1 个答案:

答案 0 :(得分:3)

您可以尝试以下查询:

db.[collection].aggregate([   
{
        $group : {
            _id :  {
                type: "$type",
                id : "$id"
                }, 
            maxValue : {$max : "$value"} , 
            minValue : {$min : "$value"}
        }
    },
    {
        $group : {
            _id :  {
                type: "$_id.type",
                id : "$_id.id"
                }, 
            sent : {$subtract: [ "$maxValue", "$minValue" ]}
        }
    }
 ])