我正在尝试在两个不同的Windows服务器中的mongodb 4.0中复制数据库。我遵循了mongodb复制的所有步骤。在通过以下命令从主数据库配置辅助数据库时,
rsconf = {_ id:“ myset”, 成员:[{{_ id:0,host:“ PrimaryServerIP:27017”},{_ id:1,host:“ SecondaryServerIP:27017”}]}
然后,当我通过重新配置rsconf时
rs.reconfig(rsconf)
我收到以下错误消息 “在MongoDB 4.0中删除了对复制协议版本0的支持。降级到MongoDB版本3.6,并在升级MongoDB版本之前将协议版本升级到1”
我试图通过以下命令将MongoDB降级为3.6,从而更新复制协议
rsconf = rs.conf()
rsconf.protocolVersion=1
rs.reconfig(rsconf)
但是仍然收到相同的错误消息。在mongodb 4.0中,有什么方法可以将协议版本更新为1。
我也在mongodb 3.6中尝试了相同的复制步骤,并且工作正常。任何帮助将不胜感激。
答案 0 :(得分:0)
我遇到了类似的问题,当我在新配置中添加protocolVersion时,它就可以正常工作。
rsconf={
_id:"myset",
protocolVersion: NumberLong(1),
members:[{_id:0,host:"PrimaryServerIP:27017"},{_id:1,host:"SecondaryServerIP:27017"}]
}
最初,我遇到这个问题,试图将rs config重置为空白,以便重新开始。我实际上是在mongo shell中完成的
cfg = {
"_id" : "rs0",
"version" : 2,
"protocolVersion" : NumberLong(1),
"members" : [
{
"_id" : 0,
"host" : "myhost:27017"
}
]
}
rs.reconfig(cfg, {force:true})