Você precisa usar o
aggregate
comando Isso deve fornecer uma lista de _id de postagem com o número de comentários classificados pela contagem em ordem inversa.
Você pode usar os operadores $limit para retornar as x linhas superiores. por exemplo.
{ $limit : 5 }
db.posts.aggregate(
{ $unwind : "$comments" },
{ $group : { _id : "$_id" , number : { $sum : 1 } } },
{ $sort : { number : -1 } }
);
Dê uma olhadahttp://docs.mongodb.org/manual/tutorial/aggregation -exemplos/