(mongodb >=1.0.0)
MongoDB\Driver\WriteConcern::__construct — Создать новый WriteConcern
$w
, ?int $wtimeout
= null
, ?bool $journal
= null
)Создаёт новый MongoDB\Driver\WriteConcern, который является неизменяемым объектом значения.
w
Значение | Описание |
---|---|
1 |
Требует подтверждение, что операция записи распространилась на
автономный mongod или на первичный в наборе реплик.
Это гарантия записи по умолчанию для MongoDB.
|
0 | Не требует подтверждение операции записи. Тем не менее, это может вернуть информацию о исключениях сокета и сетевых ошибках в приложение. |
<целое число больше 1> | Числа, превышающие 1 действительны только для набора реплик для запроса подтверждения от указанного количества членов, включая первичный. |
MongoDB\Driver\WriteConcern::MAJORITY |
Требует подтверждения того, что операции записи распространяются на большинство голосующих узлов, включая первичный, и были записаны в журнал на диск для этих узлов. До MongoDB 3.0 это относится к большинству членов набора реплик (а не только к узлам голосования). |
string | Строковое представление интерпретируется как набор тегов. Требует подтверждение, что операция записи распространяется на член набора реплик с указанным тегом. |
wtimeout
Сколько ждать (в миллисекундах) ответа от вторичных узлов перед тем, как выдать ошибку.
wtimeout
приводит к тому, что операции записи возвращаются
с ошибкой (WriteConcernError) после указанного
периода, даже если требуемая гарантия записи в конечном счёте будет успешной. Когда
эти гарантии записи возвращаются, MongoDB не отменяет успешные изменения данных,
выполненные до того, как гарантия записи превысила временной лимит wtimeout
Если указано, wtimeout
должен быть 64-битным целым числом со знаком,
больше или равен нулю.
Значение | Описание |
---|---|
0 | Блокировать бесконечно. Это значение по умолчанию. |
<целое число больше, чем 0> | Миллисекунды до ожидания возврата. |
journal
Ожидать, пока mongod не применит запись в журнал.
w
или отрицательном wtimeout
или если они больше, чем 32-битное целое число со знаком,
выбрасывает MongoDB\Driver\Exception\InvalidArgumentException
Версия | Описание |
---|---|
PECL mongodb 1.7.0 |
Параметр wTimeout теперь принимает 64-битные значения.
|
Пример #1 Пример использования MongoDB\Driver\WriteConcern::__construct()
<?php
/* Запрос подтверждения записи от большинства узлов набора реплик */
$wc = new MongoDB\Driver\WriteConcern(MongoDB\Driver\WriteConcern::MAJORITY, 500);
/* Запрос подтверждения записи от узла, настроенного с тегом "MultipleDC" */
$wc = new MongoDB\Driver\WriteConcern("MultipleDC", 500);
?>