MongoDB\BSON\Unserializable
MongoDB\Driver\Exception
MongoDB\BSON\Unserializable
PHP Manual

# MongoDB\BSON\Unserializable::bsonUnserialize

(mongodb >=1.0.0)

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

### Description

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

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.

> 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.

### Examples

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

`<?php
class MyDocument implements MongoDB\BSON\Unserializable
{
private $data = [];
function bsonUnserialize(array $data)
{
$this->data = $data;
}
}
$bson = MongoDB\BSON\fromJSON('{ "foo": "bar" }');
$value = MongoDB\BSON\toPHP($bson, ['root' => 'MyDocument']);
var_dump($value);
?>`

The above example will output:

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

### See Also

- MongoDB\BSON\Serializable::bsonSerialize() - Provides an array or document to serialize as BSON
- MongoDB\BSON\Persistable
- Persisting Data

MongoDB\BSON\Unserializable
MongoDB\Driver\Exception
MongoDB\BSON\Unserializable
PHP Manual