(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-битного целого числа со знаком.
Версия | Описание |
---|---|
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);
?>