Database

[{"_id":1,"name":"john","age":"22","group":"A","firm":{"status":"pending"}},{"_id":2,"name":"mike","age":"23","group":"B","firm":{"status":"complete"}},{"_id":3,"name":"anne","age":"24","group":"C","firm":{"status":"pending"}},{"_id":4,"name":"jane","age":"27","group":"D","firm":{"status":"incomplete"}}]

Query

db.collection.aggregate([{$group:{_id:{$toLower:"$firm.status"},count:{$sum:1}}}])

Result