В mongoDB, что означает, что команда find возвращает курсор? - PullRequest
0 голосов
/ 17 мая 2018

Это из книги, которую я читаю:

Строго говоря, команда find () возвращает курсор к возвращаемым документам. Поэтому для доступа к документам вам нужно будет выполнить итерацию курсора. Команда find () автоматически возвращает 20 документов - если они доступны - после повторения курсора 20 раз.

Я не могу понять, что имеет в виду автор. Что такое курсор в MongoDB.

1 Ответ

0 голосов
/ 17 мая 2018

Существует несколько слегка разных способов обработки результата запроса:

  • Возможно, вы хотите отсортировать их
  • Может быть, вы хотите ограничить количество результатов
  • Может быть, вы хотите пропустить элементы
  • И т.д. ...

Чтобы вы могли сделать это удобным способом и предложить эффективную реализацию, mongodb просит вас сделатьвсе в два этапа:

  1. Определить запрос (фильтр и проекция)
  2. Затем скажите, что вы хотите сделать с результатами (сортировка, пропуск, ограничение и т. д.))

Шаг 1 возвращает курсор.

У курсора есть методы, которые позволяют вам указать, что вы хотите сделать на шаге 2, а также есть методы, которые позволяют выполнять итерациюна результат.

Результаты фактически извлекаются с течением времени во время итерацииЭто позволяет использовать разумное количество системных ресурсов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...