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)値を返しません。
When iterating over the cursor, the following exceptions can also be thrown due to an incorrect type map configuration:
例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);
}
?>
上の例の出力は、 たとえば以下のようになります。
array(2) { ["_id"]=> object(MongoDB\BSON\ObjectId)#6 (1) { ["oid"]=> string(24) "56424fb76118fd3267180741" } ["x"]=> int(1) }