Database
[{"fields":{"field_1":{"name":"f1","first":{"check":true}},"field_2":{"name":"f2","second":{"check":true}},"field_3":{},"field4":{"name":"f4","second":{"check":true}}}},{"fields":{"field_1":{"name":"f1","second":{"check":false}},"field_2":{"name":"f2","second":{"check":true},"first":{"check":true}},"field3":{"name":"f3","second":{"check":true}}}}]
Query
db.collection.aggregate([{"$facet":{"f1group1":[{"$group":{"_id":"$fields.field_1.name","first_check":{"$sum":{"$cond":[{"$eq":["$fields.field_1.first.check",true]},1,0]}}}}],"f1group2":[{$match:{"fields.field_1.first":{"$eq":null}}},{"$group":{"_id":"$fields.field_1.name","second_check":{"$sum":{"$cond":[{"$eq":["$fields.field_1.second.check",true]},1,0]}}}}],"f2group1":[{"$group":{"_id":"$fields.field_2.name","first_check":{"$sum":{"$cond":[{"$eq":["$fields.field_2.first.check",true]},1,0]}}}}],"f2group2":[{$match:{"fields.field_2.first":{"$eq":null}}},{"$group":{"_id":"$fields.field_2.name","second_check":{"$sum":{"$cond":[{"$eq":["$fields.field_2.second.check",true]},1,0]}}}}]}},{$project:{f1:{$concatArrays:["$f1group1","$f1group2"]},f2:{$concatArrays:["$f2group1","$f2group2"]}}},{$unwind:{path:"$f1"}},{$unwind:{path:"$f2"}},{"$facet":{"d1":[{"$group":{"_id":{"key":"$f1._id","second_check":"$f1.second_check","first_check":"$f1.first_check",}}},{"$group":{"_id":"$_id.key","values":{"$push":{"second_group":"$_id.second_check","first_group":"$_id.first_check",}}}}],d2:[{"$group":{"_id":{"key":"$f2._id","second_check":"$f2.second_check","first_check":"$f2.first_check",}}},{"$group":{"_id":"$_id.key","values":{"$push":{"second_group":"$_id.second_check","first_group":"$_id.first_check"}}}}]}},{$project:{data:{$concatArrays:["$d1","$d2"]}}}])