(PECL mongo >=1.5.0)
Командный курсор похож на MongoCursor за исключением того, что он используется для перебора результатов команды базы данных вместо обычного запроса. Командные курсоры полезны для итерации больших наборов результатов, которые могут превышать ограничение размера документа (на данный момент – 16 МБ) одного ответа MongoDB::command().
Вы можете создавать командные курсоры, используя MongoCommandCursor::__construct() или метод фабрики MongoCommandCursor::createFromDocument(), как правило, используя специфичные для команды помощники, такие как MongoCollection::aggregateCursor().
Обратите внимание, что курсор не содержит результаты команды базы данных; он просто управляет итерацией. Таким образом, если вы печатаете курсор (например, с помощью var_dump() или print_r()), вы увидите объект курсора, но не документы результата.
MongoCommandCursor имеет две "жизненные стадии": до и после выполнения запроса. Когда курсор создан, он еще не связался с базой данных, поэтому он находится в состоянии перед выполнением запроса. Когда клиент впервые пытается получить результат (вызывая MongoCommandCursor::rewind(), прямо или косвенно), курсор переходит в состояние после выполнения запроса.
Размер пакета командного курсора и время ожидания сокета могут быть сконфигурированы как в состоянии до, так и после выполнения запроса.
Пример #1 Добавление параметров в MongoCommandCursor
<?php
$cursor = new MongoCommandCursor(...);
$cursor = $cursor->batchSize( 4 );
foreach ($cursor as $result) {
var_dump($result);
}
?>
$connection
, string $hash
, array $document
) : MongoCommandCursor