Longhorn PHP 2026 - Call For Papers

MongoDB\Driver\Cursor::setTypeMap

(mongodb >=1.0.0)

MongoDB\Driver\Cursor::setTypeMapEstablece un mapa de tipos para usar en la deserialización BSON

Descripción

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

Establece la configuración del mapa de tipos que se usará al deserializar los resultados BSON en valores de PHP.

Parámetros

typeMap (array)
Configuración del mapa de tipos.

Valores devueltos

No se retorna ningún valor.

Errores/Excepciones

  • Lanza una excepción MongoDB\Driver\InvalidArgumentException en caso de error durante el análisis de un argumento.

Al iterar sobre el cursor, también se pueden lanzar las siguientes excepciones debido a una configuración incorrecta del mapa de tipos:

Ejemplos

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

?>

Resultado del ejemplo anterior es 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
9 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