(mongodb >=1.2.0)
MongoDB\Driver\ReadPreference::bsonSerialize — Возвращает объект для BSON-сериализации
У этой функции нет параметров.
Метод возвращает объект для сериализации объекта ReadPreference в формате BSON.
Пример #1 Пример сериализации методом MongoDB\Driver\ReadPreference::bsonSerialize() объекта с первичным предпочтением чтения
<?php
$rp = new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::PRIMARY);
var_dump($rp->bsonSerialize());
echo "\n", MongoDB\BSON\Document::fromPHP($rp)->toRelaxedExtendedJSON();
?>
Вывод приведённого примера будет похож на:
object(stdClass)#2 (1) { ["mode"]=> string(7) "primary" } { "mode" : "primary" }
Пример #2 Пример сериализации методом MongoDB\Driver\ReadPreference::bsonSerialize() объекта с вторичным предпочтением чтения и наборами тегов
<?php
$rp = new MongoDB\Driver\ReadPreference(
MongoDB\Driver\ReadPreference::SECONDARY,
[
['dc' => 'ny'],
['dc' => 'sf', 'use' => 'reporting'],
[]
]
);
var_dump($rp->bsonSerialize());
echo "\n", MongoDB\BSON\Document::fromPHP($rp)->toRelaxedExtendedJSON();
?>
Вывод приведённого примера будет похож на:
object(stdClass)#2 (2) { ["mode"]=> string(9) "secondary" ["tags"]=> array(3) { [0]=> object(stdClass)#1 (1) { ["dc"]=> string(2) "ny" } [1]=> object(stdClass)#5 (2) { ["dc"]=> string(2) "sf" ["use"]=> string(9) "reporting" } [2]=> object(stdClass)#4 (0) { } } } { "mode" : "secondary", "tags" : [ { "dc" : "ny" }, { "dc" : "sf", "use" : "reporting" }, { } ] }
Пример #3 Пример использования MongoDB\Driver\ReadPreference::bsonSerialize() с вторичным предпочтением чтения и максимальным staleness
<?php
$rp = new MongoDB\Driver\ReadPreference(
MongoDB\Driver\ReadPreference::SECONDARY,
null,
['maxStalenessSeconds' => 120]
);
var_dump($rp->bsonSerialize());
echo "\n", MongoDB\BSON\Document::fromPHP($rp)->toRelaxedExtendedJSON();
?>
Вывод приведённого примера будет похож на:
object(stdClass)#2 (2) { ["mode"]=> string(9) "secondary" ["maxStalenessSeconds"]=> int(120) } { "mode" : "secondary", "maxStalenessSeconds" : 120 }