Database
[{"output_data":{"alert_type":"UAlert","overallImpact":{"margin":0.1,"workingCapital":3.33}}},{"output_data":{"alert_type":"CAlert","overallImpact":{"margin":0.1,"workingCapital":3.33}}},{"output_data":{"alert_type":"UAlert","overallImpact":{"margin":0.1,"workingCapital":3.33}}}]
Query
db.collection.aggregate([{$group:{"_id":"$output_data.alert_type",alert_type:{$first:"$output_data.alert_type"},margin:{$sum:"$output_data.overallImpact.margin"},workingCapital:{$sum:"$output_data.overallImpact.workingCapital"}}},{$project:{_id:0}},{$group:{_id:"",data:{$push:"$$ROOT"},alert_types:{$addToSet:"$alert_type"}}},{$project:{_id:0}}])