応答が遅いが、将来誰かを助けるかもしれない。 Springデータは、MongoDBカーソルをラップするためのAPIを提供していません 機能。 find
内で使用します メソッドですが、常にオブジェクトの完成したリストを返します。オプションは、Mongo APIを直接使用するか、 Spring Data Paging APIを使用することです。 、そのようなもの:
final int pageLimit = 300;
int pageNumber = 0;
Page<T> page = repository.findAll(new PageRequest(pageNumber, pageLimit));
while (page.hasNextPage()) {
processPageContent(page.getContent());
page = repository.findAll(new PageRequest(++pageNumber, pageLimit));
}
// process last page
processPageContent(page.getContent());
UPD(!) この方法は不十分です 大量のデータセットの場合(@Shawn Bushのコメントを参照)このような場合は、MongoAPIを直接使用してください。