2024年PHP开发者大会日本站

MongoDB\Driver\Cursor::setTypeMap

(mongodb >=1.0.0)

MongoDB\Driver\Cursor::setTypeMap设置用于BSON反序列化的类型映射

描述

final public MongoDB\Driver\Cursor::setTypeMap(array $typemap): void

设置类型映射配置,用于将BSON结果反序列化为PHP值。

参数

typeMap (array)

类型映射配置.

返回值

不返回任何值。

错误/异常

迭代游标时,由于类型映射配置错误,也可能抛出以下异常

示例

示例 #1 MongoDB\Driver\Cursor::setTypeMap() 示例

<?php

$manager
= new MongoDB\Driver\Manager("mongodb://127.0.0.1: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)
}
添加注释

用户贡献的注释 1 条注释

16
tdrpic
8 年前
如果您希望结果作为关联数组返回,在执行查询后,您可以像这样调用 $cursor->setTypeMap

$cursor->setTypeMap(['root' => 'array', 'document' => 'array', 'array' => 'array']);
To Top