2013-07-12 3 views
0

В настоящее время мы используемЗапись данных в MongoDB

@collection.update id, c_doc, upsert: true, safe: true 

ли установка безопасный флаг в True подтверждает, что данные на самом деле написано в рабов, а затем записываются или он просто подтверждает, что данные записываются первичный?

+0

Имеется ли [этот] (https://github.com/mongodb/mongo-ruby-driver/wiki/Write-Concern) вики-адрес на ваш вопрос? – WiredPrairie

ответ

0

safe = true означает, что первичный признал запись. Не гарантируется, что он будет реплицироваться на ведомые устройства, и нет уверенности, что он хранится на диске. Документация по адресу https://github.com/mongodb/mongo-ruby-driver/wiki/Write-Concern объясняет различные проблемы с записью.

Ни один из параметров w = не подтверждает запись на диск, для этого вам необходимо «fsync = 1». Но вы действительно не должны использовать это, поскольку это вредит производительности.

+0

Я использую проблему записи по умолчанию, которая равна 1 для 1.8 и выше. Я думаю, что writeconcern = 1 подтверждает запись на диск. Пожалуйста подтвердите. – Sandeep

+0

@Sandeep - прочитайте вики, с которой я связан в своем комментарии выше (и, по-видимому, и с Дериком). Запись 1 - это один диск, а не реплики. – WiredPrairie

+0

Да. Понял тебя. – Sandeep

Смежные вопросы