Драйвер PHP (и любой другой, с которым я столкнулся) извлекает результаты в зависимости от размера пакета. Вы также можете увидеть это, если вы выполните прямой запрос поиска в оболочке JS, в конце первых 20 возвращенных результатов он скажет что-то вроде «имеет больше». Вызов функции итерации (it) загрузит следующий пакет и т. Д.
В PHP размер пакета настраивается, вплоть до ограничения на общий размер возвращаемых данных и некоторые другие предостережения относительно ограничений и т. Д., Как описано здесь:
http://php.net/manual/en/mongocursor.batchsize.php