sql >> Base de Datos >  >> NoSQL >> MongoDB

MongoDB ordenando documentos por datos anidados

Necesitas usar el aggregate comando

Esto debería darte una lista de publicaciones _id con la cantidad de comentarios ordenados por el conteo en orden inverso.

Puede usar los operadores $limit para devolver las filas superiores x. p.ej. { $limit : 5 }

 db.posts.aggregate(
   { $unwind : "$comments" },
   { $group : { _id : "$_id" , number : { $sum : 1 } } },
   { $sort : { number : -1 } }
 );

Eche un vistazo http://docs.mongodb.org/manual/tutorial/aggregation -ejemplos/