MongoDB\Driver\Manager::executeCommand() y
MongoDB\Driver\Manager::executeQuery() devuelven
sus resultados como un objeto MongoDB\Driver\Cursor.
Este objeto puede usarse para iterar sobre el conjunto de resultados del
comando o consulta.
Dado que MongoDB\Driver\Cursor implementa la
interfaz Traversable, puede simplemente
iterar sobre el conjunto de resultados con
foreach.
<?php
$manager = new MongoDB\Driver\Manager();
/* Insertar algunos documentos para que nuestra consulta devuelva información */
$bulkWrite = new MongoDB\Driver\BulkWrite;
$bulkWrite->insert(['name' => 'Ceres', 'size' => 946, 'distance' => 2.766]);
$bulkWrite->insert(['name' => 'Vesta', 'size' => 525, 'distance' => 2.362]);
$manager->executeBulkWrite("test.asteroids", $bulkWrite);
/* Consultar todos los elementos de la colección */
$query = new MongoDB\Driver\Query( [] );
/* Consultar la colección "asteroids" de la base de datos "test" */
$cursor = $manager->executeQuery("test.asteroids", $query);
/* $cursor ahora contiene un objeto que envuelve el conjunto de resultados. Usar
* foreach() para iterar sobre todos los resultados */
foreach($cursor as $document) {
print_r($document);
}
?>
Resultado del ejemplo anterior es similar a:
stdClass Object
(
[_id] => MongoDB\BSON\ObjectId Object
(
[oid] => 5a4cff2f122d3321565d8cc2
)
[name] => Ceres
[size] => 946
[distance] => 2.766
)
stdClass Object
(
[_id] => MongoDB\BSON\ObjectId Object
(
[oid] => 5a4cff2f122d3321565d8cc3
)
[name] => Vesta
[size] => 525
[distance] => 2.362
}