操作失败:数据库错误:在数据库.system.namespaces上没有查询授权。

10

我是一个初学者,在Heroku上使用Django和MongoDB [插件:MongoLab]。

heroku run python manage.py syncdb

运行 python manage.py syncdb 命令,连接终端... 运行中,编号为 2332 正在创建表格...

OperationFailure: database error: not authorized for query on database.system.namespaces consider editing privileges on the basis of data mongo

.

>use admin
>db.addUser({ user: "myadmin", pwd: "1234", roles: ["userAdminAnyDatabase"] })

但是获得:

Error: couldn't add user: not authorized on admin to execute command 

先行致谢。


部署Heroku测试在这里:链接,但是错误出现在这里:链接,本地工作正常,问题出现在Heroku部署中。 - Anderson Dorregaray Linares
你是如何登录Mongo shell的?您需要使用特权用户进行身份验证。 - Héctor Valverde
3个回答

1
Heroku Postgres 不允许创建用户。您需要使用在 DATABASE_URL 中提供的连接字符串。禁止执行创建/删除数据库和创建用户等操作。

0

首先您需要在没有任何身份验证的情况下连接到您的 MongoDB 终端,然后尝试创建您想要创建的用户或用户角色。

如需了解更多信息,请查看此链接 here


0

我认为这更多是一个Heroku问题,而不是Django的问题。看起来你不能在mongodb实例上添加用户;你是否将用户名和密码发送到Django设置中?


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接