(PECL mongo >=1.5.0)
Un cursor de comandos es similar a un MongoCursor excepto que se utiliza para recorrer los resultados de un comando de la base de datos en lugar de una consulta normal. Los cursores de comandos son útiles para recorrer conjuntos de resultados grandes que podrían exceder el límite del tamaño del documento (actualmente 16MB) de una respuesta MongoDB::command() sencilla.
Aunque se pueden crear cursores de comandos con MongoCommandCursor::__construct() o el método de fábrica MongoCommandCursor::createFromDocument(), normalmente se utilizarán ayudantes específicos de comandos como MongoCollection::aggregateCursor().
Observe que el cursor no "contiene" los resultados del comando de la base de datos, solamente gestiona su recorrido. Por lo tanto, si se imprime un cursor (p.ej., con var_dump() o print_r()), se obtendrá el objeto cursor, no los documentos de resultados.
Un MongoCommandCursor tiene dos "escenarios de vida": pre y pos comando. Cuando un cursor se crea, aún no ha contactado con la base de datos, por lo que está en un estado de precomando. Cuando el cliente primero intenta obtener un resultado (llamando a MongoCommandCursor::rewind(), directa o indirectamente), el cursor se mueve al estado de poscomando.
El tamaño del lote y el tiempo de espera del socket de cursor de comando puede configurarse tanto en el estado de precomando como en el de poscomando.
Ejemplo #1 Añadir opciones a MongoCommandCursor
<?php
$cursor = new MongoCommandCursor(...);
$cursor = $cursor->batchSize( 4 );
foreach ($cursor as $resultado) {
var_dump($resultado);
}
?>
$connection
, string $hash
, array $document
) : MongoCommandCursor