MongoDB - 运行setFeatureCompatibilityVersion需要什么特权?

时间:2017-04-05 15:20:53

标签: mongodb

使用mongoDB 3.4.3尝试使用排序规则创建索引时,我遇到了本期(https://jira.mongodb.org/browse/SERVER-26556)中描述的问题。

由于我已从先前版本升级,因此它表示需要明确允许向后兼容的3.4功能集,但对于具有角色userAdminAnyDatabase的用户,我仍然没有权限:< / p>

> db.adminCommand({setFeatureCompatibilityVersion: "3.4"})
{
    "ok" : 0,
    "errmsg" : "not authorized on admin to execute command {setFeatureCompatibilityVersion: \"3.4\" }",
    "code" : 13,
    "codeName" : "Unauthorized"
}

我的问题是,用户需要做什么角色才能做到这一点?

3 个答案:

答案 0 :(得分:2)

使用具有popoverCnt权限的用户。

认证后:

var flipCard = function (cardId, name) {
    document.getElementById('image1').src = faces[cardId];
    checkForMatch();
}

答案 1 :(得分:0)

由于出现以下错误,我无法运行命令:

db.adminCommand( { setFeatureCompatibilityVersion: "3.4" } )
{
    "ok" : 0,
    "errmsg" : "not authorized on admin to execute command { setFeatureCompatibilityVersion: \"3.4\", $db: \"admin\" }",
    "code" : 13,
    "codeName" : "Unauthorized"
}

以下链接提供了详细信息:

https://dba.stackexchange.com/questions/159390/mongodb-all-commands-spit-out-not-authorized-on-admin-to-execute-command

我遵循的步骤(我正在使用Mac):

  1. sudo nano /usr/local/etc/mongod.conf
  2. 评论安全性,如下所示: enter image description here

  3. 重新启动MongoDB。 sudo brew服务重新启动mongodb

  4. 使用mongodb连接并运行以下代码

    使用管理员

    db.adminCommand({setFeatureCompatibilityVersion:“ 3.4”})

    enter image description here

  5. 在mongod.conf中取消安全性注释,然后重新启动MongoDB服务器。

答案 2 :(得分:0)

要能够执行setFeatureCompatibilityVersion,用户必须具有“ clusterManager”内置角色。

在此处查看文档:{​​{3}}