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