MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Como podemos implementar paginação para coleção Mongodb usando mongoTemplate


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);