PHP Conference Japan 2024

MongoDB\Driver\Cursor::setTypeMap

(mongodb >=1.0.0)

MongoDB\Driver\Cursor::setTypeMap設定用於 BSON 反序列化的類型映射

說明

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

設定在將 BSON 結果反序列化為 PHP 值時使用的類型映射配置

參數

typeMap (陣列)

類型映射配置.

傳回值

不傳回任何值。

錯誤/例外

在迭代游標時,由於類型映射設定不正確,也可能會拋出以下例外

範例

範例 #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 則註解

tdrpic
8 年前
如果您希望將結果以關聯陣列的形式返回,在執行查詢後,您可以像這樣呼叫 $cursor->setTypeMap

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