Write concern определяет уровень подтверждения, который требует MongoDB перед тем, как считать операцию записи успешной. По сути это контролирует насколько уверенным ты можешь быть в том, что запись сохранена надёжно.
w (уровень подтверждения) – указывает, сколько узлов должно подтвердить запись:
w: 0 – подтверждение не требуется (fire and forget)w: 1 – только первичный узел должен подтвердить (значение по умолчанию)w: "majority" – большинство узлов replica set должны подтвердить, что обеспечивает большую надёжностьj (журналирование) – когда установлено j: true, MongoDB ждёт, пока запись будет записана в журнал на диск перед подтверждением. Это защищает от потери данных в случае сбоя сервера.
wtimeout (таймаут) – указывает ограничение по времени в миллисекундах для выполнения write concern. Если подтверждение не получено за этот период, MongoDB возвращает ошибку — хотя сама запись может быть уже применена.
{
"w": "majority",
"j": true,
"wtimeout": 5000
}
Более строгие настройки write concern (например w: "majority" с j: true) обеспечивают большую надёжность данных, но ценой повышенной латентности: MongoDB должна дождаться ответа от большего числа узлов перед тем, как подтвердить успех операции.
Установка w: 0 в write concern означает, что MongoDB будет ждать подтверждения только от primary узла перед тем, как подтвердить операцию записи.
Новый — ещё не проверен сообществом
Вы