database - 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 文档应该没问题。
我尝试了许多不同的解决方案,包括更改用户角色、更改连接字符串等。到目前为止,没有一个对我有用。我很感激这方面的一些帮助,因为我已经坚持了好几天了。谢谢你。
解决方案
我解决了这个问题。问题出在我的连接字符串中。该字符串显然是为了测试目的而硬编码的,并且从未变回。
解决方案是mongodb://user:pwd@localhost:27017/database?authMechanism=SCRAM-SHA-1&authSource=database
推荐阅读
- javascript - Python selenium how to execute execute_script on a JavaScript element with arguments
- elasticsearch - 在 nodejs 中使用 nock 测试 elasticsearch
- php - 触发 Woocommerce 自定义字段时出现致命错误
- javascript - 按子数组值分组并将字段带到主数组
- c++ - range-v3:调整已经实现迭代器接口的自定义类(开始/结束)
- c - 使用 memcpy() 复制结构是否合法?
- c++ - C++ – delete 关键字的意义何在?
- java - NavigationView 点击事件
- java - 如何在毕加索的帮助下获取存储在 Firebase 数据库中的图像
- google-cloud-platform - Google BigQuery 和 Google API 客户端包