sql >> Base de Datos >  >> NoSQL >> MongoDB

¿Cómo podemos implementar Paginación para Mongodb Collection usando mongoTemplate?

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