Массив опций для подключения. В настоящее время доступны следующие варианты:
-
"authMechanism"
Доступные механизмы:
-
"authSource"
Должно быть установлено имя базы данных, где пользователь определен.
-
"connect"
Если конструктор должен подключиться, прежде чем вернуться.
По умолчанию TRUE
. Если установлено значение FALSE
,
драйвер будет автоматически подключаться к серверу всякий раз,
когда необходимо выполнить запрос.
Кроме того, вы можете запустить MongoClient::connect() вручную.
Внимание
Эта опция не поддерживается через строку подключения.
-
"connectTimeoutMS"
Сколько времени может занять соединение
до истечения времени ожидания в миллисекундах.
По умолчанию 60000
(60 секунд).
Если указано -1
, время ожидания соединения не будет применяться,
и PHP будет использовать default_socket_timeout.
-
"db"
Здесь можно указать базу данных для аутентификации, не включая ее в список хостов.
Это переопределяет базу данных, указанную в списке хостов.
-
"fsync"
Если установлен "fsync"
,
все операции записи будут блокироваться до тех пор, пока база данных не сбросит изменения на диск.
Это замедляет операции записи, но гарантирует, что запись прошла успешно
и что операции могут быть восстановлены в случае полного сбоя системы.
Если на сервере MongoDB включено ведение журнала,
эта опция идентична "journal".
Если ведение журнала не включено, этот параметр гарантирует,
что операции записи будут синхронизированы с файлами базы данных на диске.
Замечание:
Если ведение журнала включено, пользователям настоятельно рекомендуется
использовать опцию "journal"
вместо "fsync"
.
Не используйте одновременно "fsync"
и "journal"
,
так как это приведет к ошибке.
-
"journal"
Если установлен "journal"
, все операции записи будут
блокироваться до тех пор, пока база данных не сбросит изменения в журнал на диске.
Это замедляет операции записи, но гарантирует, что запись прошла успешно
и что операции могут быть восстановлены в случае полного сбоя системы.
Замечание:
Если эта опция используется и ведение журнала отключено,
MongoDB 2.6+ вызовет ошибку и запись не удастся;
старые версии сервера просто игнорируют эту опцию.
-
"gssapiServiceName"
Устанавливает » субъект службы Kerberos.
Применяется только когда authMechanism=GSSAPI. По умолчанию "mongodb".
-
"password"
Здесь можно указать пароль, а не включать его в список хостов.
Особенно полезно, если в пароле есть «@».
Это отменяет пароль, установленный в списке хостов.
-
"readPreference"
Определяет предпочтения чтения.
Предпочтения чтения предоставляют вам контроль, из которого могут быть считаны вторичные данные.
Допустимые значения: MongoClient::RP_PRIMARY
,
MongoClient::RP_PRIMARY_PREFERRED
,
MongoClient::RP_SECONDARY
,
MongoClient::RP_SECONDARY_PREFERRED
и
MongoClient::RP_NEAREST
.
Смотрите документацию по Read Preference
для получения дополнительной информации.
-
"readPreferenceTags"
Определяет теги предпочтения чтения в виде массива строк.
Теги могут использоваться в сочетании с опцией readPreference
для дальнейшего контроля, из каких вторичных данных могут быть считаны.
Смотрите документацию по предпочтениям чтения
для получения дополнительной информации.
-
"replicaSet"
Имя реплики, к которой нужно подключиться.
Если указано, основной сервер будет определен автоматически.
Это означает, что драйвер может в конечном итоге подключиться к серверу,
которого даже нет в списке. Смотрите пример набора реплик ниже для подробностей.
-
"secondaryAcceptableLatencyMS"
При чтении с вторичного сервера (с использованием ReadPreferences)
не читайте с вторичных серверов, о которых известно, что они находятся
на более чем secondaryAcceptableLatencyMS
,
вдали от нас. По умолчанию 15
-
"socketTimeoutMS"
Сколько времени может занять операция сокета (чтение или запись)
до истечения времени ожидания в миллисекундах. По умолчанию 30000
(30 секунд).
Если указано -1
, операции с сокетом могут блокироваться бесконечно.
Опция также может быть установлена для каждой операции, используя MongoCursor::timeout()
для запросов или опцию "socketTimeoutMS"
для методов записи.
Замечание:
Время ожидания на стороне клиента.
Если время операции записи истекло, нет способа узнать, обработал ли сервер запись или нет,
так как вместо возврата результата записи,
будет выдано исключение MongoCursorTimeoutException.
-
"ssl"
Логическое значение, указывающее, хотите ли вы включить SSL для соединений с MongoDB.
Дополнительные параметры, такие как сертификаты,
могут быть установлены с помощью Опции контекста SSL.
-
"username"
Здесь можно указать имя пользователя, а не включать его в список хостов.
Особенно полезно, если в имени пользователя есть ":".
Это переопределяет имя пользователя, установленное в списке хостов.
-
"w"
Опция w
задает гарантии записи
для драйвера, который определяет, как долго драйвер блокирует при записи.
Значением по умолчанию является 1
.
Этот параметр применим при подключении как к отдельным серверам, так и к наборам реплик.
Положительное значение контролирует, как много узлов должно
подтвердить запись, прежде чем драйвер продолжит работу.
Значение 1
потребует, чтобы единственный сервер или основной сервер (в наборе реплик)
подтвердили операцию записи. Значение 3
приведет к блокировке драйвера до тех пор,
пока запись не будет применена как к основному, так и к двум вторичным серверам (в наборе реплик).
Строковое значение используется для управления тем, какие наборы тегов учитываются при записи.
"majority"
является особенным и гарантирует,
что операция записи была применена к большинству (более 50%) участвующих узлов.
-
"wTimeoutMS"
Параметр указывает ограничение времени в миллисекундах
для гарантии записи.
Это применимо только для операций записи, где "w"
больше 1,
поскольку время ожидания относится к репликации.
Если проблема с записью не будет удовлетворена в течение срока,
будет выдано исключение MongoCursorException.
Значение 0
может быть указано для блокировки на неопределенный срок.
Значением по умолчанию является 10000
(десять секунд).