如果你希望结果作为关联数组返回,在执行查询后你可以这样调用 $cursor->setTypeMap
$cursor->setTypeMap(['root' => 'array', 'document' => 'array', 'array' => 'array']);
(mongodb >=1.0.0)
MongoDB\Driver\Cursor::setTypeMap — 设置用于 BSON 反序列化的类型映射
设置类型映射配置,用于将 BSON 结果反序列化为 PHP 值。
没有返回值。
在迭代游标时,以下异常也可能由于类型映射配置不正确而抛出
示例 #1 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);
}
?>
上面的例子将会输出类似于
array(2) { ["_id"]=> object(MongoDB\BSON\ObjectId)#6 (1) { ["oid"]=> string(24) "56424fb76118fd3267180741" } ["x"]=> int(1) }