Ein Ansatz für dieses Problem, wenn Sie große Mengen an Dokumenten haben und diese sortiert anzeigen bestellen (Ich bin mir nicht sicher, wie nützlich skip
ist ist, wenn Sie es nicht sind) wäre, die Taste zu verwenden, nach der Sie sortieren, um die nächste Ergebnisseite auszuwählen.
Wenn Sie also mit
beginnendb.myCollection.find().limit(100).sort({created_date:true});
und extrahieren Sie dann das Erstellungsdatum des letzten Dokument, das vom Cursor zurückgegeben wird, in eine Variable max_created_date_from_last_result
, können Sie die nächste Seite mit dem wesentlich effizienteren abrufen (vorausgesetzt, Sie haben einen Index für created_date
) Abfrage
db.myCollection.find({created_date : { $gt : max_created_date_from_last_result } }).limit(100).sort({created_date:true});