PHP Conference Nagoya 2025

MongoDB\Driver\Cursor::setTypeMap

(mongodb >=1.0.0)

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

Descripción

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

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

Parámetros

typeMap (array)

Configuración del mapa de tipos.

Valores devueltos

No devuelve ningún valor.

Errores/Excepciones

When iterating over the cursor, the following exceptions can also be thrown due to an incorrect type map configuration:

Ejemplos

Ejemplo #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);
}

?>

El resultado del ejemplo sería algo similar a:

array(2) {
  ["_id"]=>
  object(MongoDB\BSON\ObjectId)#6 (1) {
    ["oid"]=>
    string(24) "56424fb76118fd3267180741"
  }
  ["x"]=>
  int(1)
}

Ver también

add a note

User Contributed Notes 1 note

up
16
tdrpic
8 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']);
To Top