2013-07-12 27 views
0

目前我们使用的将数据写入MongoDB的

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

是否设置安全标志设置为True确认该数据实际写入到奴隶,然后写入或者它只是证实了数据写入主?

+0

[this](https://github.com/mongodb/mongo-ruby-driver/wiki/Write-Concern)wiki是否解决您的问题? – WiredPrairie

回答

0

safe = true意味着主小区已确认写入。不保证将其复制到从属设备,也不保证它被存储在磁盘上。 https://github.com/mongodb/mongo-ruby-driver/wiki/Write-Concern的文档解释了不同的写入问题。

没有w =选项确认写入磁盘,因为您需要“fsync = 1”。但你真的不应该使用它,因为它会损害性能。

+0

我正在使用1.8和更高版本的默认写入关注。我认为writeconcern = 1确认写入磁盘。请确认。 – Sandeep

+0

@Sandeep - 阅读我在上面评论中链接到的wiki(和Derick显然也链接到)。写1是一个磁盘,而不是副本。 – WiredPrairie

+0

是的。我接到你了。 – Sandeep