解析服务器 MongoError 认证失败。

12

我搭建了一个本地 parse-server,在未开启 MongoDB 身份验证且连接字符串为 mongodb://localhost:27017/dbname 时,它能够正常运行。但一旦开启身份验证并将连接字符串更改为 mongodb://username:password@localhost:27017/dbname,parse 控制台就会抛出以下错误:

unable to ensure uniqueness for usernames mongoerror authentication failed

客户端(例如 RoboMongo)也可以使用身份验证,我甚至尝试了赋予具有 userAdminAnyDatabasedbAdminAnyDatabase 权限的用户来确保这不是权限问题。

更新: 我使用的是 MongoDB 3.2,所以我尝试降级到 MongoDB 3.0.12,但问题仍然存在。

更新2: 我甚至尝试了超级用户角色 root,但仍然没有成功。


你能够从命令行界面连接到数据库了吗? - Ran Hassid
是的,可以通过命令行和Robomongo两种方式实现。 - Sohail Ahmed
你输入了正确的用户名和密码吗?因为看起来它找不到用户。 - Ran Hassid
1个回答

14

你是否为特定数据库创建了用户?如果尝试使用mongo管理员帐户连接,则可能会遇到此问题。

像这样创建一个用户:

use dbName
db.createUser({ user: "userName", pwd: "password", roles: [ "readWrite", "dbAdmin" ] })

使用该信息连接到数据库 - 然后它应该可以工作


创建一个新用户解决了我的问题 - 但我是在mlab网站上的数据库用户选项卡中创建的。 - mark.ed
你能否将我的建议标记为答案?如果它对你有帮助的话 :) - Simon

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