无法使用身份validation将Mongoose连接到MongoDB
我为MongoDB数据库myDatabase
创build了一个具有readwrite
angular色的用户。
使用--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上进行查询
我怎样才能解决这个问题?
我会build议尝试以下内容:
1)连接stringURI格式https://docs.mongodb.org/manual/reference/connection-string/
2)你正在使用哪种版本的mongoose? 根据文档http://mongoosejs.com/docs/connections.html你应该提供“通过”财产,但你通过它作为“密码”。