Протокол MongoDB содержит спецификации для размера пакета при выдаче запроса.
Основная предпосылка заключается в том, что драйвер клиента выдает запрос с флагом numberToReturn
. Если запрос совпадает с numberToReturn
, клиенту возвращается только это число.
Таким образом, сервер эффективно отправляет один «пакет» клиенту. Если клиент циклически проходит через весь пакет, он выдает запрос getmore и получает следующий пакет. Между тем, серверу не нужно загружать все результаты в память, достаточно только для удовлетворения запроса клиента.
Драйвер PHP абстрагирует большую часть этой сложности. Все, что вы делаете с драйвером, это запрашивает следующий элемент, и драйвер обрабатывает getmore
, где это необходимо.
Что касается размера, вы получите меньший размер Max BSON или numberToReturn
. Поэтому, если документы слишком большие, вы можете выбрать максимальный размер BSON, чтобы предотвратить отправку слишком большого количества данных одновременно.
Лучшее место для получения более подробной информации - фактический код .