我想将独立转换为副本集。该过程的第一步提到关闭独立的mongod实例。实际上function itemSum(newOutput, arrayFinal)
{
console.log(newOutput);
console.log(arrayFinal.toString());
for(i = 0; i < arrayFinal.length; i++) {
newOutput = arrayFinal[i] + newOutput;
console.log(arrayFinal[i]);
}
console.log(newOutput);
return newOutput;
}
命令会抛出以下错误:
shutdownServer失败:管理员未授权执行命令。
内置角色hostManager应授权此命令。所以我尝试过:
db.shutdownServer()
因此抛出错误:管理员未授权执行命令。我正在使用具有以下角色的用户的MongoDB shell版本:3.0.5:dbOwner,userAdmin,readWrite。
另一种方法是使用:db.grantRolesToUser("lala", [{role: "hostManager", db: "myDB"}])
抛出错误:无法添加用户:没有名为hostManager @ myDB的角色。
我真的不明白如何关闭。
答案 0 :(得分:2)
使用--auth选项打开Mongod实例时,表示您的数据库已通过身份验证。但是,无需任何身份验证即可建立与db的连接,但由于未经过身份验证,因此无法执行任何操作,因为它会在您的描述中引发错误。现在切换到经过身份验证的数据库,然后使用
执行身份验证db.auth(用户名,密码)
现在您可能有权在db.Try关闭服务器上执行授权操作
答案 1 :(得分:1)
试试这个:
db.updateUser(“root”,{roles:[{“role”:“userAdminAnyDatabase”,“db”:“admin”},{“role”:“dbOwner”,“db”:“admin”} ,{“role”:“clusterAdmin”,“db”:“admin”}]})
只需使用您的用户名而不是“root”。