¿Cómo podemos implementar la Paginación para Mongodb Colección utilizando mongoTemplate

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 Kommentare

  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) {...}

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea