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

Pagination lente sur des tonnes d'enregistrements dans mongodb

Une approche à ce problème, si vous avez de grandes quantités de documents et que vous les affichez en mode trié commander (je ne suis pas sûr de l'utilité de skip est si vous ne l'êtes pas) serait d'utiliser la clé sur laquelle vous effectuez le tri pour sélectionner la page de résultats suivante.

Donc, si vous commencez par

db.myCollection.find().limit(100).sort({created_date:true});

puis extraire la date de création du dernier document retourné par le curseur dans une variable max_created_date_from_last_result , vous pouvez obtenir la page suivante avec le plus efficace (en supposant que vous avez un index sur created_date ) requête

db.myCollection.find({created_date : { $gt : max_created_date_from_last_result } }).limit(100).sort({created_date:true});