Für allgemeine Paginierung können Sie .skip()
verwenden und .limit()
Modifikatoren für das Query-Objekt, die Sie als Argumente an Ihre Methode übergeben können:
Query query = new Query();
query.addCriteria(Criteria.where("a").is("b"));
query.skip(10);
query.limit(10);
List<Foo> results = mongoOperation.find(query, Foo);
Mit .skip()
So können Ergebnisse passieren und .limit()
ist die zurückzugebende Seitengröße.
Leiten Sie also eine Instanz von MongoOperations von MongoTemplate ab und verwenden Sie ein standardmäßiges .find()
Betrieb von dort aus.
Skip and limit ist jedoch nicht die leistungsfähigste Option, versuchen Sie, zuletzt gesehene Werte in einem natürlichen Index wie _id
zu speichern Verwenden Sie nach Möglichkeit Bereichsabfragen, um zu vermeiden, dass Tausende von Ergebnissen "übersprungen" werden.
Query query = new Query();
query.addCriteria(Criteria.where("_id").gt(lastSeen));
query.limit(10);