Database

[{"_id":"0e5101cb8c39356305830f36","person1":{"name":"Test","status":"valid"},"person2":{"name":"Test2","status":"invalid"},"person3":{"name":"Test3","status":"valid"}}]

Query

db.collection.aggregate([{"$project":{"rootArray":{"$objectToArray":"$$ROOT"}}},{"$project":{"persons":{"$map":{"input":{"$filter":{"input":"$rootArray","cond":{"$regexMatch":{"input":"$$this.k","regex":"person"}}}},"as":"person","in":"$$person.v"}}}},{"$unwind":"$persons"},{"$group":{"_id":"$persons.status","count":{"$count":{}}}}])

Result