這不是關於詢問mongo集羣的一個基本問題。這不是在我看來 重複我有一個MongoDB的3節點集羣和我的網址是大意如下的PlayFramework的conf文件的東西Mongodb集羣和初級關閉時從輔助節點讀取
mongodb.uri = "mongodb://mongodb1:27017,mongodb2:27017,mongodb3:27017/myproj"
默認情況下,當副本配置,所有的讀取和寫入只發生在小學,這就是我想要的。但是,我希望在沒有主節點離開時讀取次要節點,也就是說,當兩個節點關閉時,不會有主節點剩餘,只有一個次節點。
我不想修改我的代碼來爲每個讀取查詢實現此目的。我在輔助節點上嘗試了以下操作,但它並沒有幫助
db.getMongo().setReadPref('primaryPreferred')
我需要做什麼才能使其工作?
如果出的「二」,「三」結點往下走,然後在副本集將簡單在進一步干預之前不可用於操作。有關整個主題的大量手動部分。索引在[複製](https://docs.mongodb.com/manual/replication/) –
不完全正確。副本集將不會有一個主要的協議,我知道這一點。輔助將仍然存在。如果我盲目地標記rs.slaveOK(),我仍然可以閱讀它,但我不想這樣做。我希望剩下的第二個只允許讀取沒有主要的讀取 – curiousengineer
從您的「應用程序代碼」的角度來看,它是真實的。有關此主題的其他內容都需要DBA干預。因此成爲更適合[dba.stackexchange.com](http://dba.stackexchange.com)的問題,因爲這與應用程序代碼無關。以類似的方式,您也可以手動「提升」其餘節點。但是,再次,DBA問題。 「代碼」答案是「它不應該在乎」。 –