(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 }