首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未自动使用MangoDB上的服务连接器执行任何命令

未自动使用MangoDB上的服务连接器执行任何命令
EN

Stack Overflow用户
提问于 2017-07-25 23:44:33
回答 2查看 85关注 0票数 2

我在我的应用程序上使用MangoDb,当我尝试使用服务连接器直接访问数据库时,我可以连接,但随后我得到:

代码语言:javascript
复制
Error: error: {
    "ok" : 0,
    "errmsg" : "not authorized on admin to execute command { *any command*}",
    "code" : 13
}

在任何查询或命令上都是如此。

有没有办法更改授权或访问我的MangoDb数据

附言:我的MangoDb是按照教程中的https://docs.developer.swisscom.com/tutorial-python/bind-service.html绑定的

EN

回答 2

Stack Overflow用户

发布于 2017-07-26 18:55:05

看起来您正在尝试对您的用户未被授权的admin数据库执行命令。您可以在凭证(key mongodb.credentials.database)中找到授权给您的用户的正确数据库,但理想情况下,您可以使用提供的URI (mongodb.credentials.uri)进行连接,它会自动将您连接到正确的数据库。

您可以查看您所链接的教程中的Python示例,以了解如何正确访问和使用这些凭据。

票数 4
EN

Stack Overflow用户

发布于 2017-07-27 15:12:16

answer from Sandro Mathys是正确的和有帮助的,我想澄清/简化一点。

service broker授予您dbOwner角色,并为您创建一个具有随机名称的数据库。这是在cf create-service过程中完成的。

数据库所有者可以对数据库执行任何管理操作。此角色结合了readWrite、dbAdmin和userAdmin角色授予的权限。

您对admin数据库没有权限。admin数据库仅供瑞士电信运营商使用。请使用参数--authenticationDatabase和来自cf env的随机数据库名称登录mongo shell。

指定在其中创建用户的数据库。请参阅身份验证数据库。

如果您没有为--authenticationDatabase指定值,mongo将使用连接字符串中指定的数据库。

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

https://stackoverflow.com/questions/45308011

复制
相关文章

相似问题

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