目前我們使用的將數據寫入MongoDB的
@collection.update id, c_doc, upsert: true, safe: true
是否設置安全標誌設置爲True確認該數據實際寫入到奴隸,然後寫入或者它只是證實了數據寫入主?
目前我們使用的將數據寫入MongoDB的
@collection.update id, c_doc, upsert: true, safe: true
是否設置安全標誌設置爲True確認該數據實際寫入到奴隸,然後寫入或者它只是證實了數據寫入主?
safe = true意味着主小區已確認寫入。不保證將其複製到從屬設備,也不保證它被存儲在磁盤上。 https://github.com/mongodb/mongo-ruby-driver/wiki/Write-Concern的文檔解釋了不同的寫入問題。
沒有w =選項確認寫入磁盤,因爲您需要「fsync = 1」。但你真的不應該使用它,因爲它會損害性能。
我正在使用1.8和更高版本的默認寫入關注。我認爲writeconcern = 1確認寫入磁盤。請確認。 – Sandeep
@Sandeep - 閱讀我在上面評論中鏈接到的wiki(和Derick顯然也鏈接到)。寫1是一個磁盤,而不是副本。 – WiredPrairie
是的。我接到你了。 – Sandeep
[this](https://github.com/mongodb/mongo-ruby-driver/wiki/Write-Concern)wiki是否解決您的問題? – WiredPrairie