如何为mongodb 3.2副本分配优先级?

如何为mongodb 3.2副本分配优先级?,mongodb,mongodb-query,mongo-shell,Mongodb,Mongodb Query,Mongo Shell,我有一个带有复制功能的mongodb数据库(1台主计算机和4台辅助计算机,分别命名为node1、node2、node3、node4和node5)。我想为节点分配优先级。如果node1下降,则node2应成为主要节点;如果node1和node2下降,则node3应成为主要节点,依此类推。 我正在尝试使用以下命令分配优先级,但它没有改变: cfg = rs.conf() cfg.members[0].priority = 20 cfg.members[1].priority = 15 cfg.mem

我有一个带有复制功能的mongodb数据库(1台主计算机和4台辅助计算机,分别命名为node1、node2、node3、node4和node5)。我想为节点分配优先级。如果
node1
下降,则
node2
应成为主要节点;如果
node1
node2
下降,则
node3
应成为主要节点,依此类推。 我正在尝试使用以下命令分配优先级,但它没有改变:

cfg = rs.conf()
cfg.members[0].priority = 20
cfg.members[1].priority = 15
cfg.members[2].priority = 10
cfg.members[3].priority = 5
cfg.members[4].priority = 1
rs.reconfig(cfg)
我使用的是Mongodb版本:3.2

您还必须进行配置

版本3.2中的重要更改:

无表决权的成员必须具有

优先级为0。优先级大于0的成员不能具有0 投票

若要将成员配置为无表决权,请将其表决权和优先级值均设置为0

有关和的更多信息,请参阅

您还必须进行配置

版本3.2中的重要更改:

无表决权的成员必须具有

优先级为0。优先级大于0的成员不能具有0 投票

若要将成员配置为无表决权,请将其表决权和优先级值均设置为0

有关和的更多信息,请参阅

rs.reconfig(cfg)
应该抛出一个错误“errmsg”:“不投票时优先级必须为0(投票:0)”。相同的问题和接受的答案有效。
rs.reconfig(cfg)
应该抛出错误“errmsg”:“不投票时优先级必须为0(投票数:0)”。有相同的问题和接受答案的作品。
cfg = rs.conf()
cfg.members[0].votes = 1;
cfg.members[0].priority = 20;
cfg.members[1].votes = 1;
cfg.members[1].priority = 15;
cfg.members[2].votes = 1;
cfg.members[2].priority = 10;
cfg.members[3].votes = 1
cfg.members[3].priority = 5;
cfg.members[4].votes = 1
cfg.members[4].priority = 1;
rs.reconfig(cfg);