Какие стили фиксации доступны в MongoDB? - PullRequest
1 голос
/ 09 июля 2010

В некотором смысле операция сохранения по умолчанию в MongoDB выглядит асинхронной.Кажется, что когда клиент сохраняет документ, он обычно получает успешный ответ от сервера, даже если операция еще не была применена к базе данных (не говоря уже о сохранении на диске).

(IЯ основываю эту модель на том, как save() ведет себя на PHP-клиенте документация , которая содержит необязательный параметр - safe - который, я думаю, делает , гарантирует, что сохранениебыл обработан сервером, а не просто получен сервером, и комментарий к сообщению в блоге Матиасом Стерном, в котором он говорит, что «по умолчанию« совершено »означает только применение к структуре mmaped, но он также можетозначает реплицирование или сброс на диск. ")

Я вижу, что есть несколько уровней" успеха ", которых может достичь save(), включая: (a) отправленный клиентом;(б) получен сервером;(c) совершено сервером для внутренних структур данных;(d) отправлено сервером на n реплик;и (e) записаны на диск.

  • Что делает MongoDB по умолчанию?
  • Как это можно настроить?(Я не смог найти эквивалент для режима PHP safe в оболочке mongo, например.)

Кроме того, есть ли какое-либо различие в поведении по отношению к клиенту, выдающему save(),а любой другой клиент?т. е. поддерживает ли MongoDB чтение-ваши-записи или подобное?

1 Ответ

1 голос
/ 09 июля 2010

Все эти параметры выполняются с помощью команды getLastError.Это в основном то, что делает «безопасный режим» под капотом.Эта страница должна быть полезной: http://www.mongodb.org/display/DOCS/getLastError+Command

...