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)
Возвращаемые значения
Эта функция не возвращает значения после выполнения.
Ошибки
- При ошибке парсинга аргумента бросает исключение MongoDB\Driver\Exception\InvalidArgumentException.
При итерации по курсору может выбрасываться следующие исключения из-за неправильной конфигурации карты типов:
- Выбрасывает MongoDB\Driver\Exception\InvalidArgumentException, если класс на карте типов не может быть создан или не реализует MongoDB\BSON\Unserializable.
Примеры
Пример #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) }