PHP Conference Nagoya 2025

MongoDB\Driver\Cursor::setTypeMap

(mongodb >=1.0.0)

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

Descrizione

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

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

Elenco dei parametri

typeMap (array)

Type map configuration.

Valori restituiti

Nessun valore viene restituito.

Errori/Eccezioni

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

Esempi

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

?>

Il precedente esempio visualizzerà qualcosa simile a:

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

Vedere anche:

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