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

Comment dire à Mongo de trier une collection avant de limiter les résultats ?

Le problème est que vous devez trier sur date au lieu de $date .

myCollection.find().sort({date: 1}).limit(50, callback);

Mongo applique le tri avant de limiter les résultats quel que soit l'ordre dans lequel vous appelez sort et limit sur le curseur.

Preuve dans la documentation :lien

db.bios.find().sort( { name: 1 } ).limit( 5 )
db.bios.find().limit( 5 ).sort( { name: 1 } )

Les deux déclarations sont équivalentes; c'est-à-dire que l'ordre dans lequel vous enchaînez les méthodes limit() et sort() n'est pas significatif. Les deux instructions renvoient les cinq premiers documents, tels que déterminés par l'ordre de tri croissant sur "nom".