首页 > 解决方案 > MongoError:管理员未授权在 AWS Lightsail 上执行命令

问题描述

我正在尝试将我的应用程序部署到 AWS Lightsail。但是,我遇到了这个错误:MongoError: not authorized on admin to execute command { listIndexes: "users", .....。服务器正在运行 Bitnami MEAN 堆栈版本 3.6.5-0。创建服务器时,我已遵循本教程。我创建了一个数据库,切换到它,并使用连接字符串创建了 .env 文件:mongodb://user:pwd@localhost:27017/?authMechanism=SCRAM-SHA-1&authSource=database

应用程序说它连接到数据库,然后立即抛出上述错误并使整个应用程序崩溃。从我的发现看来,这可能是我为其创建的数据库用户角色的问题。数据库用户具有“dbOwner”的角色,根据教程和 MongoDB 文档应该没问题。

我尝试了许多不同的解决方案,包括更改用户角色、更改连接字符串等。到目前为止,没有一个对我有用。我很感激这方面的一些帮助,因为我已经坚持了好几天了。谢谢你。

标签: databasemongodbauthenticationamazon-lightsail

解决方案


我解决了这个问题。问题出在我的连接字符串中。该字符串显然是为了测试目的而硬编码的,并且从未变回。

解决方案是mongodb://user:pwd@localhost:27017/database?authMechanism=SCRAM-SHA-1&authSource=database


推荐阅读