За общо страниране можете да използвате .skip()
и .limit()
модификатори на обекта Query, които можете да подадете като аргументи към вашия метод:
Query query = new Query();
query.addCriteria(Criteria.where("a").is("b"));
query.skip(10);
query.limit(10);
List<Foo> results = mongoOperation.find(query, Foo);
С .skip()
това е как може резултатите да преминат и .limit()
е размерът на страницата за връщане.
Така че извлечете екземпляр на MongoOperations от MongoTemplate и използвайте стандартен .find()
операция от там.
Пропускане и ограничаване обаче не е най-ефективният вариант, опитайте се да съхраните последно видяните стойности в естествен индекс като _id
където е възможно и използвайте заявки за обхват, за да избегнете „прескачане“ през 1000 резултати.
Query query = new Query();
query.addCriteria(Criteria.where("_id").gt(lastSeen));
query.limit(10);