2017-10-13 199 views
0

我有一个mongo查询,我需要组和从最大值减去最小值,我有这样做的问题。Mongo减去组聚合

这里是我的查询:

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

但我收到此错误信息:

的$减去累加器是一元运算符

我想知道怎么做我在小组阶段减去。

回答

1

你可以尝试下面的查询:

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" ]} 
     } 
    } 
])