MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Jak możemy zaimplementować paginację dla kolekcji Mongodb za pomocą mongoTemplate?

Do ogólnego podziału na strony możesz użyć .skip() i .limit() modyfikatory w obiekcie Query, które możesz przekazać jako argumenty do swojej metody:

    Query query = new Query();
    query.addCriteria(Criteria.where("a").is("b"));
    query.skip(10);
    query.limit(10);

    List<Foo> results = mongoOperation.find(query, Foo);

Z .skip() będąc w jaki sposób mogą przejść wyniki i .limit() to rozmiar strony do zwrócenia.

Wyprowadź więc instancję MongoOperations z MongoTemplate i użyj standardowej .find() stamtąd.

Pomijanie i ograniczanie nie jest jednak najskuteczniejszą opcją, spróbuj przechowywać ostatnio widziane wartości w naturalnym indeksie, takim jak _id tam, gdzie to możliwe, i używaj zapytań o zakres, aby uniknąć „przeskakiwania” przez tysiące wyników.

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


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Jak wykonać agregację w mongodb w frameworku laravel

  2. MongoDB i upsert problem

  3. Jak przenieść element w tablicy MongoDB?

  4. Jak w Mongodb sprawdzić, czy wszystkie dokumenty są unikalne dla danej wartości?

  5. GAE nie może wyszukać rekordu SRV dla instancji atlasu mongodb