Search code examples
mongodbpymongoaggregation-framework

Is it possible to sum 2 fields in MongoDB using the Aggregation framework?


I have a collection with documents that contain fields type, totalA and totalB

I want to use the aggregation framework in order to group by type - and get the sum of both totalA and totalB together.

The last thing I tried (doesn't work) is:

'$group' : { 
  '_id' : '$type', 
  'totalA' : { '$sum' : '$totalA' },
  'totalB' : { '$sum' : '$totalB' },
  'totalSum' : { '$sum' : '$totalA', '$sum' : '$totalB' },
}  }

totalSum has the sum of only one of the fields instead of the combined value.


Solution

  • I found a solution:

    Just using $project to $add the two fields together in the output.

    { "$project" : {
          'totalA' : '$totalA',
          'totalB' : '$totalB',
          'totalSum' : { '$add' : [ '$totalA', '$totalB' ] },
         }