Database
[{"_id":{"year":2014,"gender":"female"},"total":131},{"_id":{"year":2014,"gender":"male"},"total":105}]
Query
db.collection.aggregate([{"$group":{/**Group things*/"_id":"$_id.year","gender":{"$addToSet":{k:"$_id.gender",v:"$total"}},sum:{/**Sum it*/$sum:"$total"}}},{"$project":{/**Reshape it*/g:{"$arrayToObject":"$gender"},_id:1,sum:1}},{"$project":{/**Reshape it*/_id:1,"g.female":1,"g.male":1,sum:1}}])