Réponse tardive, mais peut-être aidera quelqu'un à l'avenir. Les données Spring ne fournissent aucune API pour envelopper le curseur Mongo DB capacités. Il l'utilise dans find
méthodes, mais renvoie toujours la liste complète des objets. Les options consistent à utiliser l'API Mongo directement ou à utiliser Spring Data Paging API , quelque chose comme ça :
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 (!) Cette méthode n'est pas suffisante pour de grands ensembles de données (voir les commentaires de @Shawn Bush) Veuillez utiliser l'API Mongo directement dans de tels cas.