2017-10-13 161 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" ]} 
     } 
    } 
])