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".