MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

MongoDB triant les documents par données imbriquées

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/