2014-09-22 31 views
0

我對PHP Mongo驅動程序處理setWriteConcern和setReadPreferences的方式有一個具體問題。從文檔我推測:MongoDB :: setWriteConcern默認值?

  1. 您可以在單個刀片改變writeConcern,更新,刪除級別。
  2. 您可以在連接級別調整writeConcern。
  3. 您可以使用MongoCollection :: setWriteConcern來設置此集合的默認值。
  4. 您可以使用MongoDB :: setWriteConcern來設置此數據庫的默認值。

我們正在測試一個分片,複製設置和我想知道如果我使用MongoDB的:: setWriteConcern,後來在該數據庫中收集執行插入不指定任何寫入關注將默認爲關注我做了DB對象本身?

基本上,如果我爲DB/Collection設置了默認的writeConcern或readPreference,那麼這些信息會同步到配置服務器,以便所有後續連接都將默認爲這些關注/首選項連接或查詢級別?

回答

1

如果使用setWriteConcern設置默認情況下,它只會影響您正在使用的客戶端蒙哥/殼中的隨後的寫入操作。

例如,打開一個蒙戈外殼和輸入:

db.setWriteConcern(1) 

現在檢查默認的相同的外殼:

db.getWriteConcern() 
WriteConcern({ "w" : 1 }) 

然後打開另一個蒙戈外殼和getWriteConcern,你應該看到空值。

db.getWriteConcern() 
null