Database
[{"cat_id":1,"categoryCode":"categoryCode1","categoryName":"categoryName1","cat":[{"type":"A"}]},{"cat_id":2,"categoryCode":"categoryCode1","categoryName":"categoryName1","cat":[{"type":"A"}]},{"cat_id":3,"categoryCode":"categoryCode2","categoryName":"categoryName2","cat":[{"type":"C"}]},{"cat_id":4,"categoryCode":"categoryCode3","categoryName":"categoryName3","cat":[{"type":"A"}]}]
Query
db.collection.aggregate([{"$unwind":"$cat"},{"$group":{"_id":{"categoryCode":"$categoryCode","categoryName":"$categoryName"},"catCount":{"$sum":{"$cond":{"if":{"$eq":["$cat.type","A"]},"then":1,"else":0}}}}},{"$project":{"categoryCode":"$_id.categoryCode","categoryName":"$_id.categoryName","catCount":1,"_id":0}}])