禁用从属成员的读操作以获取mongodb复制项

时间:2016-10-26 09:15:32

标签: mongodb mongodb-replica-set

rs.slaveOk()启用MongoDB副本集中从属成员的读操作。

使用什么功能来禁用它?

1 个答案:

答案 0 :(得分:0)

只需输入rs.slaveOk(false)

在shell中,您可以看到为每个命令执行的代码是什么,因此,如果您在rs.slaveOk(没有括号)时间,您得到的是以下内容:

rs.slaveOk
function (value) {
    return db.getMongo().setSlaveOk(value);
}

所以slaveOk实际上是一个接受布尔参数并调用setSlaveOk的函数,它由以下代码组成:

db.getMongo().setSlaveOk
function (value) {
    if (value == undefined)
        value = true;
    this.slaveOk = value;
}

如您所见,setSlaveOktrue作为默认值,因此通过指定false,您可以阻止从辅助节点读取。