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() - Выбрать сервер, соответствующий предпочтениям чтения