一般的なページネーションには、.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);