If you would prefer to have the results returned as an associative array, after executing your query you could call $cursor->setTypeMap like this:
$cursor->setTypeMap(['root' => 'array', 'document' => 'array', 'array' => 'array']);
(mongodb >=1.0.0)
MongoDB\Driver\Cursor::setTypeMap — Défini un type de carte à utiliser pour la désérialisation BSON
Définit la configuration de mappage de type à utiliser lors de la désérialisation des résultats BSON en valeurs PHP.
typeMap
(array)Aucune valeur n'est retournée.
Lors de l'itération sur le curseur, les exceptions suivantes peuvent également être levées en raison d'une configuration de mappage de type incorrecte :
Exemple #1 Exemple avec MongoDB\Driver\Cursor::setTypeMap()
<?php
$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017");
$bulk = new MongoDB\Driver\BulkWrite;
$id = $bulk->insert(['x' => 1]);
$manager->executeBulkWrite('db.collection', $bulk);
$query = new MongoDB\Driver\Query(['_id' => $id]);
$cursor = $manager->executeQuery('db.collection', $query);
$cursor->setTypeMap(['root' => 'array']);
foreach ($cursor as $document) {
var_dump($document);
}
?>
Résultat de l'exemple ci-dessus est similaire à :
array(2) { ["_id"]=> object(MongoDB\BSON\ObjectId)#6 (1) { ["oid"]=> string(24) "56424fb76118fd3267180741" } ["x"]=> int(1) }