Para paginação geral, você pode usar o
.skip()
e .limit()
modificadores no objeto Query que você pode passar como argumentos para seu 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);
Com
.skip()
sendo como os resultados podem passar e .limit()
sendo o tamanho da página a ser retornada. Portanto, derivar uma instância de MongoOperations de MongoTemplate e usar um padrão
.find()
operação a partir daí. Ignorar e limitar não é a opção de melhor desempenho, tente armazenar os últimos valores vistos em um índice natural como
_id
sempre que possível e use consultas de intervalo para evitar "pular" por milhares de resultados. Query query = new Query();
query.addCriteria(Criteria.where("_id").gt(lastSeen));
query.limit(10);