Database
[{"a":1,"b":2},{"a":100,"b":200}]
Query
db.collection.aggregate([{$project:{_id:0}},{$project:{data:{$objectToArray:"$$ROOT"}}},{$unwind:"$data"},{$group:{_id:"$data.k",vals:{$push:"$data.v"}}},{$group:{_id:null,aggregates:{$push:{k:"$_id",v:"$vals"}}}},{$replaceRoot:{newRoot:{$arrayToObject:"$aggregates"}}}])