Para la paginación general, puede usar .skip()
y .limit()
modificadores en el objeto Query que puede pasar como argumentos a su método:
Query query = new Query();
query.addCriteria(Criteria.where("a").is("b"));
query.skip(10);
query.limit(10);
List<Foo> results = mongoOperation.find(query, Foo);
Con .skip()
siendo cómo pueden pasar los resultados y .limit()
siendo el tamaño de página a devolver.
Así que obtenga una instancia de MongoOperations de MongoTemplate y use un .find()
estándar operación desde allí.
Sin embargo, omitir y limitar no es la opción de mayor rendimiento, intente almacenar los últimos valores vistos en un índice natural como _id
donde sea posible y use consultas de rango para evitar "saltar" miles de resultados.
Query query = new Query();
query.addCriteria(Criteria.where("_id").gt(lastSeen));
query.limit(10);