Database
[{"_id":{"year":2014,"gender":"female"},"total":131},{"_id":{"year":2014,"gender":"male"},"total":105}]
Query
db.collection.aggregate({$group:{_id:"$_id.year",male:{$sum:{$cond:{if:{$eq:["$_id.gender","male"]},then:"$total",else:0}}},female:{$sum:{$cond:{if:{$eq:["$_id.gender","female"]},then:"$total",else:0}}},total:{$sum:"$total"}},})