我为MongoDB数据库readwrite
创建了一个myDatabase
角色的用户。
使用--auth
启动MongoDB服务器后,在Mongo shell中:
mongo -u userName -p userPassword --authenticationDatabase myDatabase
正确连接并可以读取/写入myDatabase
在mongoose尝试使用
连接到MongoDBmongoose.connect('mongodb://localhost/myDatabase', {user:'userName', password:'userPassword'});
另外
mongoose.connect('mongodb://localhost/myDatabase', {user:'userName', password:'userPassword', {auth: {authdb:'myDatabase'}});
能够连接到myDatabase但在读/写时获得授权错误
MongoError:未授权对myDatabase.myCollection
进行查询
我该如何解决这个问题?
答案 0 :(得分:3)
我建议尝试以下方法:
1)使用字符串URI格式https://docs.mongodb.org/manual/reference/connection-string/
进行连接2)你使用的是哪种版本的猫鼬?根据文档http://mongoosejs.com/docs/connections.html,您应该提供'pass'属性,但是您将其作为'密码'传递。