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 — Define um mapa de tipos a ser usado para desserialização BSON
Define a configuração do mapa de tipos a ser usada ao desserializar os resultados do BSON em valores PHP.
typeMap (array)Nenhum valor é retornado.
Ao iterar sobre o cursor, as seguintes exceções também podem ser lançadas devido a uma configuração incorreta do mapa de tipo:
Exemplo #1 Exemplo de 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);
}
?>O exemplo acima produzirá algo semelhante a:
array(2) {
  ["_id"]=>
  object(MongoDB\BSON\ObjectId)#6 (1) {
    ["oid"]=>
    string(24) "56424fb76118fd3267180741"
  }
  ["x"]=>
  int(1)
}
