Существует несколько слегка разных способов обработки результата запроса:
- Возможно, вы хотите отсортировать их
- Может быть, вы хотите ограничить количество результатов
- Может быть, вы хотите пропустить элементы
- И т.д. ...
Чтобы вы могли сделать это удобным способом и предложить эффективную реализацию, mongodb просит вас сделатьвсе в два этапа:
- Определить запрос (фильтр и проекция)
- Затем скажите, что вы хотите сделать с результатами (сортировка, пропуск, ограничение и т. д.))
Шаг 1 возвращает курсор.
У курсора есть методы, которые позволяют вам указать, что вы хотите сделать на шаге 2, а также есть методы, которые позволяют выполнять итерациюна результат.
Результаты фактически извлекаются с течением времени во время итерацииЭто позволяет использовать разумное количество системных ресурсов.