Database
[{"field1":"value1","field2":"v1"},{"field1":"value1","field2":"v2"},{"field1":"value2","field2":"v1"}]
Query
db.collection.aggregate([{$match:{field1:{$in:["value1","value2"]},field2:{$in:["v1","v2"]}}},{$project:{arr:{$objectToArray:{fields1:"$field1",fields2:"$field2"}}}},{$unwind:"$arr"},{$group:{_id:{k:"$arr.k",v:"$arr.v"},count:{$sum:1}}},{$group:{_id:"$_id.k",arr:{$push:{k:"$_id.v",v:"$count"}}}},{$group:{_id:null,arr:{$push:{k:"$_id",v:{$arrayToObject:"$arr"}}}}},{$replaceRoot:{newRoot:{$arrayToObject:"$arr"}}}])