目前我们正在使用
@collection.update id, c_doc, upsert: true, safe: true
将安全标志设置为True是否确认数据实际写入从属设备然后写入或者只是确认数据是否写入主数据?
答案 0 :(得分:0)
safe = true表示主要已确认写入。它不能保证被复制到从属设备,也不能安全地假设它存储在磁盘上。 https://github.com/mongodb/mongo-ruby-driver/wiki/Write-Concern处的文档解释了不同的写作问题。
没有w =选项确认写入磁盘,因为您需要“fsync = 1”。但你真的不应该使用它,因为它会伤害性能。