Database
[{"type":"1","value":"value1","total":10},{"type":"1","value":"value3","total":20},{"type":"1","value":"value3","total":30},{"type":"2","value":"value1","total":10},{"type":"2","value":"value2","total":20}]
Query
db.collection.aggregate([{$group:{_id:"$type",value:{$addToSet:"$value"},total:{$sum:"$total"}},},{$project:{_id:0,type:"$_id",value:"$value",total:"$total"}},])