Вопрос

Я обнаружил, что некоторые методы официального водителя Mongodb C # SafeMode и вернуться SafeModeResult. Отказ Что это SafeMode и как я это использовать? Было бы здорово видеть некоторые случаи использования - например, случай использования с RemoveAll метод а. MongoCollection.

Это было полезно?

Решение

SafeMode актуален только при записи в БД.

Для скорости, если SafeMode выключен, и операция записи не удается, водитель не ждет, чтобы ухаживать. Чистый эффект не является исключением, и вы не знаете, что у вас есть ошибка.

SAFEMODE, установленный на то, что он заставляет драйвер ждать подтверждения успеха, и если произошла ошибка, будет выбросить исключение.

Используйте SafeMode для данных, которые вы заботитесь о (учетные записи пользователей, заказы и т. Д.).

Не используйте SafeMode для данных, которые не являются важными (регистрация, статистика использования и т. Д.)

Поведение по умолчанию MongoDB должно быть выключено SAFEMODE.

Другие советы

От документация:

Существуют различные уровни SAFEMODE, и этот класс используется для представления этих уровней. SafeMode применяется только к операциям, которые уже не возвращают значение (так что он не применяется к запросам или командам). Это относится к следующим методам Mongocollection: вставить, удалить, сохранить и обновлять.

Гист SAFEMODE заключается в том, что после вставки удалить, сохранить или обновить сообщение отправляется на сервер, последовавшей командой getLasterror, чтобы драйвер мог убедиться, что операция успешна. Кроме того, при использовании наборов реплики можно проверить, что информация была реплицирована на некоторое минимальное количество вторичных серверов.

Класс Safemode имеет статические свойства и методы, которые позволяют легко добраться до общих режимов или создавать свои собственные:

* SafeMode.False
* SafeMode.True
* SafeMode.WaitForReplications(int n)

Значение для «n» включает в себя первичный, так как обычно вы хотите N> = 2.

Я надеюсь, что этого достаточно, чтобы понять цель самемода.

SafeMode кажется устаревшим.

Эквивалентность WriteConcern на MongoClientSettings (обычно передается в MongoClient конструктор). Признанным является WriteConconn по умолчанию в текущей версии драйвера (2.2.4).

Смотрите также Mongodb SafeMode Сравните с WriteConcern

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top