Soy un noob en mongoDb necesito para implementar la Paginación para cualquier Colección específica por ejemplo decir

Tengo una Colección de Foo y tengo una Función que devuelve todos los registros de los Foo colección

public List<Foo> getFoo(){

}

Pero necesito recuperar registros de los Foo mediante la implementación de paginación ¿cómo puedo lograr esto mediante el uso de mongoTemplate Primavera de datos mongodb?

InformationsquelleAutor Ramzan Zafar | 2014-08-20

2 Comentarios

  1. 14

    General de la paginación puede utilizar el .skip() y .limit() modificadores en la Consulta de objetos que se pueden 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() ser cómo los resultados pueden ir más allá y .limit() ser el tamaño de la página para volver.

    Para obtener una instancia de MongoOperations de MongoTemplate y el uso de un estándar .find() operación a partir de ahí.

    Saltar y el límite no es la más eficiente opción, aunque, intenta almacenar visto por última vez los valores naturales del índice como _id cuando sea posible y utilizar consultas de alcance para evitar la «saltar» a través de 1000’s de los resultados.

        Query query = new Query();
        query.addCriteria(Criteria.where("_id").gt(lastSeen));
        query.limit(10);
  2. 1

    Puede proporcionar saltar y límite a la consulta que se está utilizando, y esto debería ayudar a hacer la paginación.
    Echa un vistazo al método encontrar en MongoTemplate clase.

    Su método debería tener este aspecto:

    public List<Foo> getFoo(int pageNumber, int pageSize) {...}

Dejar respuesta

Please enter your comment!
Please enter your name here