MongoCommandCursor
PHP Manual

MongoCommandCursor::createFromDocument

(PECL mongo >=1.5.0)

MongoCommandCursor::createFromDocumentCrear un nuevo cursor de comando desde un documento de cursor existente

Descripción

public MongoCommandCursor::createFromDocument ( MongoClient $connection , string $hash , array $document )

Use este método si tiene un resultado de comando sin tratar con información de cursor en él.

Parámetros

connection

La conexión a la base de datos.

hash

El hash de la conexión, obtenida mediante el tercer argumento por referencia de MongoDB:command().

document

El documento con información de cursor en él. Es neceario que este documento contenga los campos id, ns y firstBatch. Tal documento se obtiene invocando a MongoDB:command() con los argumentos apropiados para que devuelva un cursor, y no un resultado. Véase el ejemplo de más abajo.

Valores devueltos

Devuelve el nuevo cursor.

Ejemplos

Ejemplo #1 MongoCommandCursor::createFromDocument()

<?php
$m 
= new MongoClient;
$d $m->demo;

// configurar la tubería
$tubería = [
    [ 
'$group' => [
        
'_id' => '$country_code',
        
'timezones' => [ '$addToSet' => '$timezone' ]
    ] ],
    [ 
'$sort' => [ '_id' => ] ],
];

// ejecutar el comando. La opción "cursor" de abajo le indica al servidor que devuelva un documento con información de cursor en vez de resultados
$r $d->command(
    [
        
'aggregate' => 'cities',
        
'pipeline' => $tubería,
        
'cursor' => [ 'batchSize' => ],
    ],
    
null,
    
$hash
);

// mostrar el resultado y el hash
var_dump$r$hash );

// construir el cursor de comando
$cursor MongoCommandCursor::createFromDocument$m$hash$r );
?>

El resultado del ejemplo sería algo similar a:


array(2) {
["cursor"]=>
array(3) {
["id"]=>
object(MongoInt64)#5 (1) {
["value"]=>
string(12) "392143983421"
}
["ns"]=>
string(11) "demo.cities"
["firstBatch"]=>
array(1) {
[0]=>
array(2) {
["_id"]=>
string(2) "AD"
["timezones"]=>
array(1) {
[0]=>
string(14) "Europe/Andorra"
}
}
}
}
["ok"]=>
float(1)
}
string(25) "localhost:27017;-;.;17617"

Como se puede ver, la información del cursor devuelta posee los campos id, ns y firstBatch.


MongoCommandCursor
PHP Manual