Database
[{"_id":ObjectId("5f3cdd1d0fefeba343ff3093"),"country":"C1","time":"1994","value":NumberInt(100),"type":"type1","origin":"O1"},{"_id":ObjectId("5f3cdd1d0fefeba343ff3094"),"country":"C1","time":"1994","value":NumberInt(200),"type":"type1","origin":"O2"}]
Query
db.collection.aggregate([{"$match":{"type":{"$in":["type1"]}}},{"$group":{"_id":{"country":"$country","time":"$time"},"TOT":{"$sum":"$value"},"count":{"$sum":1.0},"origin":{"$addToSet":{k:"$origin",v:"$value"}}}},{$addFields:{origin:{$arrayToObject:"$origin"}}}],{"allowDiskUse":false})