(PECL mongo >=1.5.0)
MongoCommandCursor::createFromDocument — Crear un nuevo cursor de comando desde un documento de cursor existente
$connection
, string $hash
, array $document
)Use este método si tiene un resultado de comando sin tratar con información de cursor en él.
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.
Devuelve el nuevo cursor.
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' => 1 ] ],
];
// 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' => 1 ],
],
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:
Como se puede ver, la información del cursor devuelta posee los campos id, ns y firstBatch.