我有一个应用程序连接到名为讨论的MongoDB数据库.我创建了一个用户
Mongo shell:
> use discussions switched to db discussions > db.auth("discussions","XXXXXXXXX") 1 > show users { "_id" : "discussions.discussions","user" : "discussions","db" : "discussions","roles" : [ { "role" : "dbOwner","db" : "discussions" } ] }
这是为了确认我在数据库上有一个帐户,它是一个dbOwner.根据文档,它具有READ,WRITE等权限.
配置文件启用了“auth = true”属性,并且该服务自更改后不止一次被退回.
但问题是,当我尝试从shell外部连接到数据库时,我总是得到错误:
mongo discussions -u 'discussions' -p 'XXXXXXXXX' MongoDB shell version: 2.6.3 connecting to: discussion 2014-08-05T01:00:39.026+0400 Error: 18 { ok: 0.0,errmsg: "auth Failed",code: 18 } at src/mongo/shell/db.js:1210 exception: login Failed
我在Stackoverflow上看到过关于这个的问题,它们都与用户名和密码周围的引号有关…但是将单引号更改为双引号并没有产生更好的结果.
解决方法
也许我错了,但正确的形式是这样的:
mongo –port 27017 -u manager -p 12345678 –authenticationDatabase admin
您可以在mongo文档中阅读此内容:
http://docs.mongodb.org/manual/tutorial/add-user-to-database/