Класс MongoDB\Driver\Manager

(mongodb >=1.0.0)

Введение

Класс MongoDB\Driver\Manager является основной точкой входа в модуль. Он отвечает за поддержание соединений с MongoDB (будь то автономный сервер, набор реплик или распределенный кластер).

При инициализации класса Manager не происходит подключение к MongoDB. Это означает, что MongoDB\Driver\Manager всегда может быть создан, даже если сервера MongoDB не работают.

Любая запись или запрос будут выбрасывать исключение cоединения, поскольку соединения создаются "лениво" (по требованию). Сервер MongoDB также может быть недоступен в течение всего времени выполнения скрипта. Поэтому важно, чтобы все действия с Manager были обернуты в блок try/catch.

Обзор классов

final MongoDB\Driver\Manager {
/* Методы */
final public __construct ( string $uri = "mongodb://127.0.0.1/" , array $uriOptions = array() , array $driverOptions = array() )
final public createClientEncryption ( array $options ) : MongoDB\Driver\ClientEncryption
final public executeBulkWrite ( string $namespace , MongoDB\Driver\BulkWrite $bulk , array $options = array() ) : MongoDB\Driver\WriteResult
final public executeCommand ( string $db , MongoDB\Driver\Command $command , array $options = array() ) : MongoDB\Driver\Cursor
final public executeQuery ( string $namespace , MongoDB\Driver\Query $query , array $options = array() ) : MongoDB\Driver\Cursor
final public executeReadCommand ( string $db , MongoDB\Driver\Command $command , array $options = array() ) : MongoDB\Driver\Cursor
final public executeReadWriteCommand ( string $db , MongoDB\Driver\Command $command , array $options = array() ) : MongoDB\Driver\Cursor
final public executeWriteCommand ( string $db , MongoDB\Driver\Command $command , array $options = array() ) : MongoDB\Driver\Cursor
final public getServers ( ) : array
final public startSession ( array $options = ? ) : MongoDB\Driver\Session
}

Примеры

Пример #1 Простой пример использования MongoDB\Driver\Manager::__construct()

Выводит различную информацию о MongoDB\Driver\Manager с помощью функции var_dump(). Это может быть полезно для отладки, чтобы посмотреть как драйвер видит настройку MongoDB и какие опции используются.

<?php

$manager 
= new MongoDB\Driver\Manager("mongodb://localhost:27017");
var_dump($manager);

?>

Результатом выполнения данного примера будет что-то подобное:

object(MongoDB\Driver\Manager)#1 (3) {
  ["request_id"]=>
  int(1714636915)
  ["uri"]=>
  string(25) "mongodb://localhost:27017"
  ["cluster"]=>
  array(13) {
    ["mode"]=>
    string(6) "direct"
    ["state"]=>
    string(4) "born"
    ["request_id"]=>
    int(0)
    ["sockettimeoutms"]=>
    int(300000)
    ["last_reconnect"]=>
    int(0)
    ["uri"]=>
    string(25) "mongodb://localhost:27017"
    ["requires_auth"]=>
    int(0)
    ["nodes"]=>
    array(...)
    ["max_bson_size"]=>
    int(16777216)
    ["max_msg_size"]=>
    int(50331648)
    ["sec_latency_ms"]=>
    int(15)
    ["peers"]=>
    array(0) {
    }
    ["replSet"]=>
    NULL
  }
}

Содержание