Database
[{name:"AAAA",tags:"tag1, tag2, tag3"},{name:"AAAB",tags:"tag2, tag3,tag5"},{name:"AAAAAC",tags:"tag3, tag1, tag7"}]
Query
db.collection.aggregate([{"$set":{"tags":{"$split":["$tags",","]}}},{"$unwind":"$tags"},{"$set":{"tags":{"$trim":{"input":"$tags"}}}},{"$group":{"_id":"$tags","count":{"$count":{}}}},{"$sort":{"_id":1}},{"$group":{"_id":null,"newRoot":{"$mergeObjects":{"$arrayToObject":[[{"$reduce":{"input":{"$objectToArray":"$$ROOT"},"initialValue":{},"in":{"$mergeObjects":["$$value",{"$switch":{"branches":[{"case":{"$eq":["$$this.k","_id"]},"then":{"k":"$$this.v"}},{"case":{"$eq":["$$this.k","count"]},"then":{"v":"$$this.v"}}],"default":"$$value"}}]}}}]]}}}},{"$replaceWith":"$newRoot"}])