略微加速

PHP官方手册 - 互联网笔记

PHP - Manual: MongoDB\Driver\Cursor::setTypeMap

2024-12-22

MongoDB\Driver\Cursor::setTypeMap

(mongodb >=1.0.0)

MongoDB\Driver\Cursor::setTypeMapSets a type map to use for BSON unserialization

说明

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

Sets the type map configuration to use when unserializing the BSON results into PHP values.

参数

typeMap (array)

Type map configuration.

返回值

没有返回值。

错误/异常

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)
}
add a noteadd a note

User Contributed Notes 1 note

up
16
tdrpic
5 years ago
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']);

官方地址:https://www.php.net/manual/en/mongodb-driver-cursor.settypemap.php

北京半月雨文化科技有限公司.版权所有 京ICP备12026184号-3