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