Overview
KB
Technical FAQ
PHP Manual
CSS2 Manual
HTML Manual
JS Guide
JS Reference
PhpDock Manual
Nu-Coder Manual
PhpExpress Manual
PHP Joomla
Development
Learn PHP
 
<MongoDB\BSON\UnserializableMongoDB\BSON\BinaryInterface>
^MongoDB\BSON\UnserializableLast updated: Mon, 26 Oct 2026

MongoDB\BSON\Unserializable::bsonUnserialize

(mongodb >=1.0.0)

MongoDB\BSON\Unserializable::bsonUnserialize — Constructs the object from a BSON array or document

Description

abstract public function MongoDB\BSON\Unserializable::bsonUnserialize(array $data): void

Called during unserialization of the object from BSON. The properties of the BSON array or document will be passed to the method as an array.

Remember to check for an _id property when handling data from a BSON document.

Note:

This method acts as the constructor of the object. The __construct() method will not be called after this method.

Parameters

data (array)

Properties within the BSON array or document.

Return Values

The return value from this method is ignored.

Changelog

Version Description
PECL mongodb 2.0.0 Return types previously declared as tentative are now enforced.

Examples

Example #1 MongoDB\BSON\Unserializable::bsonUnserialize() example

<?php

class MyDocument implements MongoDB\BSON\Unserializable
{
    private $data = [];

    function bsonUnserialize(array $data): void
    {
        $this->data = $data;
    }
}

$bson = MongoDB\BSON\Document::fromJSON('{ "foo": "bar" }');

var_dump($bson->toPHP(['root' => 'MyDocument']));

?>

The above example will output:

object(MyDocument)#1 (1) {
  ["data":"MyDocument":private]=>
  array(1) {
    ["foo"]=>
    string(3) "bar"
  }
}

See Also


<MongoDB\BSON\UnserializableMongoDB\BSON\BinaryInterface>
^MongoDB\BSON\UnserializableLast updated: Mon, 26 Oct 2026