ExpressJS和AWS DocumentDB连接身份验证失败

时间:2020-07-17 16:51:48

标签: express mongoose amazon-ec2 bitnami aws-documentdb

我正在使用ExpressJS通过AWS EC2实例(将Bitnami MEAN堆栈作为服务器,将DocumentDB作为数据库)来构建后端服务器。

我已经尝试在本地计算机和MongoAtlas上运行后端代码,并且效果很好。但是,当我尝试按照在线指南和教程连接到documentDB服务器时,遇到认证失败。

以下是我尝试使用Mongoose连接App.js documentdb。

DB_CONNECTION是我从包含密码的AWS DocumentDB集群中复制出来的连接字符串。
(我将其放在一个单独的文件中并导入了它)

app.js

以下是我在运行节点app.js以启动expressJS代码时收到的错误

error message

为了保密起见,我已经在白色区域中遮盖了,希望您理解。

在线教程尚未成功。任何帮助将不胜感激!
预先谢谢你!

由于信誉评分低,我无法嵌入图片。谢谢!

2 个答案:

答案 0 :(得分:2)

经过长时间调试后发现错误。在连接字符串中,我没有指定要连接的数据库。 (请参见下面的示例)

例如mongodb + srv://:@ cluster0.n02wk.mongodb.net /?retryWrites = true&w =多数等...

这导致连接自动引导到admin数据库。由于我帐户的访问权限,我的帐户没有访问该数据库的权限,导致身份验证失败。

添加了我要连接的数据库名称,并且连接正常!

答案 1 :(得分:0)

身份验证错误通常是由于用户名和密码不正确造成的。如果您尝试使用主用户登录并忘记了密码,则可以通过修改集群https://docs.aws.amazon.com/documentdb/latest/developerguide/db-cluster-modify.html来重置密码。如果您尝试以普通用户身份登录,则可以使用以下命令使用mongo shell重置密码:db.changeUserPassword(用户名,密码)