一般的なページネーションには、.skip()を使用できます。 および.limit() メソッドに引数として渡すことができるQueryオブジェクトの修飾子:
Query query = new Query();
query.addCriteria(Criteria.where("a").is("b"));
query.skip(10);
query.limit(10);
List<Foo> results = mongoOperation.find(query, Foo);
.skip()を使用 結果がどのように通過するか、.limit() 返されるページサイズです。
したがって、MongoTemplateからMongoOperationsのインスタンスを派生させ、標準の.find()を使用します。 そこからの操作。
スキップして制限することは最もパフォーマンスの高いオプションではありませんが、最後に表示された値を_idなどの自然なインデックスに保存してみてください 可能な場合は範囲クエリを使用して、数千の結果を「スキップ」しないようにします。
Query query = new Query();
query.addCriteria(Criteria.where("_id").gt(lastSeen));
query.limit(10);