Трябва да използвате aggregate
команда
Това трябва да ви даде списък с _id на публикация с броя на коментарите, сортирани по броя в обратен ред.
Можете да използвате операторите $limit, за да върнете x горните редове. напр. { $limit : 5 }
db.posts.aggregate(
{ $unwind : "$comments" },
{ $group : { _id : "$_id" , number : { $sum : 1 } } },
{ $sort : { number : -1 } }
);
Разгледайтеhttp://docs.mongodb.org/manual/tutorial/aggregation -примери/