Express JS 和 AWS DocumentDB 连接身份验证失败

ExpressJS, & AWS DocumentDB connection Authentication Failed

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

我已经在我的本地机器和 MongoAtlas 上尝试了 运行 后端代码,它运行良好。但是,当我尝试按照在线指南和教程连接到 documentDB 服务器时,我遇到了身份验证失败。

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

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

app.js

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

error message

为了保护隐私,我将某些区域用白色遮盖了,希望您能理解。

在线教程未成功。任何帮助将不胜感激!
提前致谢!

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

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

调试了很久才发现错误。在连接字符串中,我没有指定要连接的数据库。 (见下面的例子)

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

这导致连接自动引导到管理数据库。由于我账号的访问权限,我的账号没有访问那个数据库的权限,导致认证失败。

添加了我打算连接的数据库名称并且连接成功了!