我正在尝试将应用程序部署到AWS Lightsail。但是,我遇到此错误:MongoError: not authorized on admin to execute command { listIndexes: "users", .....
。服务器正在运行Bitnami MEAN堆栈3.6.5-0版本。创建服务器时,我遵循了this tutorial。我创建了一个数据库,将其切换到该数据库,并使用连接字符串mongodb://user:pwd@localhost:27017/?authMechanism=SCRAM-SHA-1&authSource=database
创建了.env文件。
应用程序说它连接到数据库,然后立即引发上述错误并使整个应用程序崩溃。从我发现的情况来看,似乎为我为其创建的数据库用户的角色可能存在问题。数据库用户具有“ dbOwner”的角色,根据本教程和MongoDB文档的说明,该角色应该很好。
我尝试了许多不同的解决方案,包括更改用户角色,更改连接字符串以及其他解决方案。到目前为止,没有一个对我有用。我会为此感到困扰,因为我已经坚持了好几天。谢谢。
答案 0 :(得分:0)
我解决了这个问题。问题出在我的连接字符串中。该字符串显然是出于测试目的而进行了硬编码,并且从未更改。
解决方案是mongodb://user:pwd@localhost:27017/database?authMechanism=SCRAM-SHA-1&authSource=database