我有一個3副本的MongoDB具有以下配置設置:設置的MongoDB副本集的版本到以前的值
rs0:PRIMARY> rs.conf()
{
"_id" : "rs0",
"version" : 138086,
"members" : [
{
"_id" : 0,
"host" : "host_1:27017",
"arbiterOnly" : false,
"buildIndexes" : true,
"hidden" : false,
"priority" : 1,
"tags" : {
},
"slaveDelay" : 0,
"votes" : 1
},
{
"_id" : 1,
"host" : "host_2:27017",
"arbiterOnly" : false,
"buildIndexes" : true,
"hidden" : false,
"priority" : 0.5,
"tags" : {
},
"slaveDelay" : 0,
"votes" : 1
},
{
"_id" : 2,
"host" : "host_3:27017",
"arbiterOnly" : false,
"buildIndexes" : true,
"hidden" : false,
"priority" : 0.5,
"tags" : {
},
"slaveDelay" : 0,
"votes" : 1
}
],
"settings" : {
"chainingAllowed" : true,
"heartbeatTimeoutSecs" : 10,
"getLastErrorModes" : {
},
"getLastErrorDefaults" : {
"w" : 1,
"wtimeout" : 0
}
}
}
正如你可能已經注意到,版本號爲一些垃圾值。這是較早的9,然後我改變的東西,使其10.然而,另一個實例連接到數據庫,需要它有版本9.我想:
cfg = rs.conf()
cfg.version = 9
rs.reconfig(cfg, { force: true })
但創建垃圾值。有什麼辦法可以將它重新設置爲9?哦,並且rs.initiate()也沒有工作。這個link描述瞭如何通過完全關閉副本集來完成它。這對我來說太危險了,因爲它在生產中。請幫忙!