MongoDB\Driver\Manager::executeCommand() et
MongoDB\Driver\Manager::executeQuery() les deux
renvoient leur (s) résultat (s) en tant qu'objet MongoDB\Driver\Cursor.
Cet objet peut être utilisé pour itérer au sein du jeu de résultats de la
commande ou de la requête.
Parce que MongoDB\Driver\Cursor implémente l'interface
Traversable, vous pouvez simplement itérer
sur le jeu de résultats avec
foreach
.
<?php
$manager = new MongoDB\Driver\Manager();
/* Insérez des documents afin que notre requête renvoie des informations */
$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);
/* Requête pour tous les éléments de la collection */
$query = new MongoDB\Driver\Query( [] );
/* Interrogez la collection "asteroids" de la base de données "test" */
$cursor = $manager->executeQuery("test.asteroids", $query);
/* $cursor contient maintenant un objet qui entoure le jeu de résultats.
* Utilisez foreach() pour itérer sur tous les résultats */
foreach($cursor as $document) {
print_r($document);
}
?>
Résultat de l'exemple ci-dessus est similaire à :
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
}