无法使用身份validation将Mongoose连接到MongoDB

我为MongoDB数据库myDatabase创build了一个具有readwriteangular色的用户。

使用--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你应该提供“通过”财产,但你通过它作为“密码”。