Database

[{"fields":{"field_1":{"name":"f1","first":{"check":true}},"field_2":{"name":"f2","second":{"check":true}},"field_3":{},"field_4":{"name":"f4","second":{"check":true}}}},{"fields":{"field_1":{"name":"f1","second":{"check":false}},"field_2":{"name":"f2","second":{"check":true},"first":{"check":true}},"field_3":{"name":"f3","second":{"check":true}}}}]

Query

db.collection.aggregate([{$unwind:"$fields"},{$project:{data:{$objectToArray:"$fields"}}},{$unwind:"$data"},{$match:{"data.v.first.check":true}},{$group:{_id:"$data.v.name",values:{$push:{"first_group":{$sum:{"$cond":[{"$eq":["$data.v.first.check",true]},1,0]}},"second_group":{$sum:{"$cond":[{"$eq":["$data.v.second.check",true]},1,0]}}}}}}])

Result