我在脚本中运行以下内容以自动启动副本集:
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);
Run Code Online (Sandbox Code Playgroud)
但是我得到了:
{ "ok" : 0, "errmsg" : "Missing expected field \"version\"", "code" : 93 }
Run Code Online (Sandbox Code Playgroud)
我运行脚本后,我不知道为什么.
我已经尝试在本地运行脚本,使用以下内容:
mongo 192.168.1.46:27017 /opt/scripts/initreplset.js
Run Code Online (Sandbox Code Playgroud)
我正在使用mongodb v3.2.
我现在遇到同样的问题,可能是一个很新的东西,无论如何看起来版本字段现在是强制性的.
从官方文档:
version类型:int
用于区分副本集配置对象的修订版与配置的先前迭代的递增编号.
所以可能你只需要添加这个数字.即:
{
"_id" : "rs0",
"version" : 1,
"members" : [
{
"_id" : 1,
"host" : "mongodb0.example.net:27017"
}
]
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1692 次 |
| 最近记录: |