Vous devez utiliser l'aggregate
commande
Cela devrait vous donner une liste de post _id avec le nombre de commentaires triés par le nombre dans l'ordre inverse.
Vous pouvez utiliser les opérateurs $limit pour renvoyer les x premières lignes. par exemple. { $limit : 5 }
db.posts.aggregate(
{ $unwind : "$comments" },
{ $group : { _id : "$_id" , number : { $sum : 1 } } },
{ $sort : { number : -1 } }
);
Jetez un oeilhttp://docs.mongodb.org/manual/tutorial/aggregation -exemples/