启动mongodb副本集

时间:2016-02-15 23:57:02

标签: mongodb

我在脚本中运行以下内容以自动启动副本集:

var cfg = { _id: 'rs0',
    members: [
        { _id: 0, host: '192.168.1.46:27017'},
        { _id: 1, host: '192.168.1.51:27017'},
        { _id: 2, host: '192.168.1.48:27017'}
    ]
};

var error = rs.initiate(cfg);
printjson(error);

但是我得到了:

{ "ok" : 0, "errmsg" : "Missing expected field \"version\"", "code" : 93 }

运行脚本后我不确定原因。

我尝试使用以下方法在本地运行脚本:

mongo 192.168.1.46:27017 /opt/scripts/initreplset.js

我正在使用mongodb v3.2。

1 个答案:

答案 0 :(得分:6)

我现在遇到同样的问题,可能是一个很新的东西, 无论如何,似乎版本字段现在是强制性的。

来自官方文件:

  

版本   键入:int

     

用于区分副本修订的递增数字   从以前的迭代中设置配置对象   配置。

所以可能你只需要添加这个号码。 即:

{
   "_id" : "rs0",
   "version" : 1,
   "members" : [
      {
         "_id" : 1,
         "host" : "mongodb0.example.net:27017"
      }
   ]
}