MongoDB\Driver\Manager::getServers
(mongodb >=1.0.0)
MongoDB\Driver\Manager::getServers — Возвращает серверы, к которым подключен менеджер
Описание
Возвращает массив (array) экземпляров MongoDB\Driver\Server, к которым подключен текущий менеджер.
Замечание: Посколько драйвер подключается к базе данных лениво, этот метод может возвращать пустой массив (array), если он вызывается перед выполнением операции в MongoDB\Driver\Manager.
Список параметров
У этой функции нет параметров.
Возвращаемые значения
Возвращает массив (array) экземпляров MongoDB\Driver\Server, к которым подключен менеджер.
Ошибки
- При ошибке парсинга аргумента бросает исключение MongoDB\Driver\Exception\InvalidArgumentException.
Примеры
Пример #1 Пример использования MongoDB\Driver\Manager::getServers()
<?php
$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017");
/* Из-за того, что драйвер подключается к серверу лениво, вызов Manager::getServers()
* первоначально может вернуть пустой массив. */
var_dump($manager->getServers());
$command = new MongoDB\Driver\Command(['ping' => 1]);
$manager->executeCommand('db', $command);
var_dump($manager->getServers());
?>
Результатом выполнения данного примера будет что-то подобное:
array(0) {
}
array(1) {
[0]=>
object(MongoDB\Driver\Server)#3 (10) {
["host"]=>
string(9) "localhost"
["port"]=>
int(27017)
["type"]=>
int(1)
["is_primary"]=>
bool(false)
["is_secondary"]=>
bool(false)
["is_arbiter"]=>
bool(false)
["is_hidden"]=>
bool(false)
["is_passive"]=>
bool(false)
["last_is_master"]=>
array(8) {
["ismaster"]=>
bool(true)
["maxBsonObjectSize"]=>
int(16777216)
["maxMessageSizeBytes"]=>
int(48000000)
["maxWriteBatchSize"]=>
int(1000)
["localTime"]=>
object(MongoDB\BSON\UTCDateTime)#4 (1) {
["milliseconds"]=>
int(1447267964517)
}
["maxWireVersion"]=>
int(3)
["minWireVersion"]=>
int(0)
["ok"]=>
float(1)
}
["round_trip_time"]=>
int(554)
}
}
Смотрите также
- MongoDB\Driver\Server
- MongoDB\Driver\Manager::selectServer() - Выбрать сервер, соответствующий предпочтениям чтения