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 — Sets a type map to use for BSON unserialization
Sets the type map configuration to use when unserializing the BSON results into PHP values.
typeMap
(array)No value is returned.
When iterating over the cursor, the following exceptions can also be thrown due to an incorrect type map configuration:
Example #1 MongoDB\Driver\Cursor::setTypeMap() example
<?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);
}
?>
The above example will output something similar to:
array(2) { ["_id"]=> object(MongoDB\BSON\ObjectId)#6 (1) { ["oid"]=> string(24) "56424fb76118fd3267180741" } ["x"]=> int(1) }