[英]How to update _id in Mongodb Replica Set configuration?
我在副本集中有5個mongo成員。 在我從中刪除3后。
如何將其他成員中的“ _id”更改為值“ 0”,“ 1”和“ 2”?
rs.conf()
{
"_id" : "rs0",
"version" : 151261,
"members" : [
{
"_id" : 3,
"host" : "mongodb3:27017"
},
{
"_id" : 4,
"host" : "mongodb4:27017"
},
{
"_id" : 5,
"host" : "ok:27017",
"arbiterOnly" : true
}
]
}
直接編輯副本集配置可能不是一個好方法。 而是使用rs.remove(hostname)
命令從副本集中刪除成員,這樣,您無需在重新配置期間關閉主數據庫,該數據庫將自動將升序值分配給“ _id”字段。
嘗試按照以下說明刪除從屬集合: http : //docs.mongodb.org/manual/tutorial/troubleshoot-replica-sets/#duplicate-key-error-on-local-slaves
主服務器將在下次需要時重新創建該集合。
您可以在Mongo控制台中嘗試以下操作:
conf = rs.conf()
conf.members[0]._id = 0
conf.members[1]._id = 1
conf.members[2]._id = 2
rs.reconfig(conf)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.