MongoDB\Driver\WriteConcern::__construct

(mongodb >=1.0.0)

MongoDB\Driver\WriteConcern::__constructСоздать новый WriteConcern

Описание

final public MongoDB\Driver\WriteConcern::__construct ( string|int $w , int $wtimeout = ? , bool $journal = ? )

Создает новый 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 не применит запись в журнал.

Ошибки

Список изменений

Версия Описание
PECL mongodb 1.7.0 Параметр wTimeout теперь принимает 64-битные значения.

Примеры

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

<?php

/* Запрос подтверждения записи от большинства узлов набора реплик */
$wc = new MongoDB\Driver\WriteConcern(MongoDB\Driver\WriteConcern::MAJORITY500);

/* Запрос подтверждения записи от узла, настроенного с тегом "MultipleDC" */
$wc = new MongoDB\Driver\WriteConcern("MultipleDC"500);

?>