För allmän sidnumrering kan du använda .skip()
och .limit()
modifierare på Query-objektet som du kan skicka in som argument till din metod:
Query query = new Query();
query.addCriteria(Criteria.where("a").is("b"));
query.skip(10);
query.limit(10);
List<Foo> results = mongoOperation.find(query, Foo);
Med .skip()
är hur kan resultaten gå förbi och .limit()
är den sidstorlek som ska returneras.
Så härled en instans av MongoOperations från MongoTemplate och använd en standard .find()
operation därifrån.
Skip and limit är dock inte det mest effektiva alternativet, försök att lagra senast sett värden på ett naturligt index som _id
där det är möjligt och använd intervallfrågor för att undvika att "hoppa över" 1000-tals resultat.
Query query = new Query();
query.addCriteria(Criteria.where("_id").gt(lastSeen));
query.limit(10);