Database

db={categories:[{"_id":231,"text":"category 231",},{"_id":245,"text":"category 245",},{"_id":276,"text":"category 276",}],posts:[{"_id":71,category:"245"},{"_id":72,category:"276"},{"_id":74,category:"276"}]}

Query

db.posts.aggregate([{$addFields:{category:{$toInt:"$category"},}},{$lookup:{from:"categories",as:"category",localField:"category",foreignField:"_id"}},{"$unwind":"$category"},{"$group":{"_id":"$category._id","count":{"$sum":1},"category":{"$first":"$category"}}},{"$sort":{"count":-1}},{"$project":{categoriesText:"$category.text"}},{"$group":{"_id":null,"categoriesText":{"$push":"$categoriesText"}}},{"$project":{_id:0,topCategories:"$categoriesText"}}])

Result