La clase MongoCommandCursor

(PECL mongo >=1.5.0)

Introducción

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.

Escenarios de un cursor

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);

foreach (
$cursor as $resultado) {
    
var_dump($resultado);
}
?>

Sinopsis de la Clase

MongoCommandCursor implements MongoCursorInterface , Iterator {
/* Métodos */
public batchSize ( int $batchSize ) : MongoCommandCursor
public __construct ( MongoClient $connection , string $ns , array $command = array() )
public static createFromDocument ( MongoClient $connection , string $hash , array $document ) : MongoCommandCursor
public current ( void ) : array
public dead ( void ) : bool
public getReadPreference ( void ) : array
public info ( void ) : array
public key ( void ) : string
public next ( void ) : void
public rewind ( void ) : array
public setReadPreference ( string $read_preference [, array $tags ] ) : MongoCommandCursor
public timeout ( int $ms ) : MongoCommandCursor
public valid ( void ) : bool
}

Tabla de contenidos