无法通过身份验证将Mongoose连接到MongoDB

时间:2015-12-14 18:36:41

标签: node.js mongodb mongoose

我为MongoDB数据库readwrite创建了一个myDatabase角色的用户。

使用--auth启动MongoDB服务器后,在Mongo shell中:

mongo -u userName -p userPassword --authenticationDatabase myDatabase

正确连接并可以读取/写入myDatabase

在mongoose尝试使用

连接到MongoDB
mongoose.connect('mongodb://localhost/myDatabase', {user:'userName', password:'userPassword'});

另外

mongoose.connect('mongodb://localhost/myDatabase', {user:'userName', password:'userPassword', {auth: {authdb:'myDatabase'}});

能够连接到myDatabase但在读/写时获得授权错误

  

MongoError:未授权对myDatabase.myCollection

进行查询

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:3)

我建议尝试以下方法:

1)使用字符串URI格式https://docs.mongodb.org/manual/reference/connection-string/

进行连接

2)你使用的是哪种版本的猫鼬?根据文档http://mongoosejs.com/docs/connections.html,您应该提供'pass'属性,但是您将其作为'密码'传递。