Clases del núcleo
PHP Manual

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 MongoCommandCursor batchSize ( int $batchSize )
public __construct ( MongoClient $connection , string $ns , array $command = array() )
public static MongoCommandCursor createFromDocument ( MongoClient $connection , string $hash , array $document )
public array current ( void )
public bool dead ( void )
public array getReadPreference ( void )
public array info ( void )
public string key ( void )
public void next ( void )
public array rewind ( void )
public MongoCommandCursor setReadPreference ( string $read_preference [, array $tags ] )
public MongoCommandCursor timeout ( int $ms )
public bool valid ( void )
}

Tabla de contenidos


Clases del núcleo
PHP Manual