首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当我执行任务时,无法从C#驱动程序执行mongo命令

当我执行任务时,无法从C#驱动程序执行mongo命令
EN

Stack Overflow用户
提问于 2014-10-02 20:29:31
回答 1查看 2.1K关注 0票数 0

我刚刚将用户身份验证添加到我的monngodb复制集中,现在我得到了一个MongoCommandException。

命令'listDatabases‘失败:未授权管理员执行命令{ listDatabases: 1}(响应:{ "ok“:0.0,"errmsg”:“未授权管理员执行命令{ listDatabases: 1 }",”代码“:13 })

奇怪的是,我可以和同一个用户登录终端中的mongo,它工作得很好。

这是我的用户:

代码语言:javascript
复制
....    
{
    "_id" : "admin.rulesEngineDBAdmin",
    "user" : "rulesEngineDBAdmin",
    "db" : "admin",
    "roles" : [
        {
            "role" : "dbOwner",
            "db" : "rules-engine"
        },
        {
            "role" : "clusterAdmin",
            "db" : "admin"
        }
    ]
}
....

根据http://docs.mongodb.org/manual/reference/built-in-roles/

clusterAdmin结合了clusterManager,clusterMonitor, andhostManager...clusterMonitor提供对listDatabases命令的访问。

这里是我从终端运行它的时候:

代码语言:javascript
复制
rules_engine:PRIMARY> db.auth("rulesEngineDBAdmin", "rulesEngineDBAdmin");
1
rules_engine:PRIMARY> db.runCommand( { listDatabases: 1 } )

{
    "databases" : [
            {
                    "name" : "admin",
                    "sizeOnDisk" : 83886080,
                    "empty" : false
            },
            {
                    "name" : "local",
                    "sizeOnDisk" : 1157627904,
                    "empty" : false
            }
    ],
    "totalSize" : 1241513984,
    "ok" : 1
}

但当我运行这段代码时:

代码语言:javascript
复制
doesRulesEngineDbExists = Server.DatabaseExists(databaseName);

使用此连接字符串:

代码语言:javascript
复制
mongodb://rulesEngineDBAdmin:rulesEngineDBAdmin@...

我得到了这个MongoCommandException:

代码语言:javascript
复制
Command 'listDatabases' failed: not authorized on admin to execute command
{ listDatabases: 1 }
( response: 
    { "ok" : 0.0, "errmsg" : "not authorized on admin to execute command 
        { listDatabases: 1 }", "code" : 13 
    }
)

如果以前有人遇到过这种情况,我很想知道发生了什么,我能做些什么来解决这个问题。

EN

回答 1

Stack Overflow用户

发布于 2014-10-13 14:41:36

来回答我自己的问题:

这是我的一个错误。我没有在安全部分下的配置文件中添加“授权:已启用”,因为在我所遵循的教程中没有提到这个部分(我所拥有的只是密钥文件)。所以看起来我可以连接,但是我不能执行任何命令。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26169134

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档