Musisz użyć aggregate
polecenie
Powinno to dać listę _id posta z liczbą komentarzy posortowanych według licznika w odwrotnej kolejności.
Możesz użyć operatorów $limit, aby zwrócić x górnych wierszy. np. { $limit : 5 }
db.posts.aggregate(
{ $unwind : "$comments" },
{ $group : { _id : "$_id" , number : { $sum : 1 } } },
{ $sort : { number : -1 } }
);
Spójrzhttp://docs.mongodb.org/manual/tutorial/aggregation -przykłady/