node.js - 无法将 mongoDB 地图集连接到 heroku
问题描述
我已成功将我的 mongodb 连接到 mongoATlas 中的集群,但是当我尝试连接到 heroku 时,出现此错误:
> UnhandledPromiseRejectionWarning: MongooseServerSelectionError: connection <monitor> to 52.55.178.46:27017 closed
2020-03-29T22:14:32.041176+00:00 app[web.1]: at new MongooseServerSelectionError (/app/node_modules/mongoose/lib/error/serverSelection.js:22:11)
2020-03-29T22:14:32.041176+00:00 app[web.1]: at NativeConnection.Connection.openUri (/app/node_modules/mongoose/lib/connection.js:823:32)
2020-03-29T22:14:32.041178+00:00 app[web.1]: at Mongoose.connect (/app/node_modules/mongoose/lib/index.js:333:15)
2020-03-29T22:14:32.041178+00:00 app[web.1]: at Object.<anonymous> (/app/index.js:10:4)
这是我连接到 mongoDb 的代码:
const uri =
"mongodb+srv://theosadxen:newPassword@cluster0a5rdm.mongodb.net/auth";
mongoose
.connect(uri, {
useUnifiedTopology: true,
useCreateIndex: true,
useNewUrlParser: true
})
.then(() => console.log("Connected to mongodb..."));
解决方案
我也遇到了类似的问题,首先要做的是测试新连接* (mongodb+srv://theosadxen:newPassword@cluster0a5rdm.mongodb.net/auth),它仍然在您的计算机上运行。如果已建立连接,请尝试:
确保您的 IP 已列入白名单。最简单的解决方案是添加 0.0.0.0/0 的“所有 IP”白名单
然后把用户的密码改成mongodb建议的密码(Autogenerate Secure Password)
在您的应用程序中修改它并为 heroku 进行新的提交,以重新启动所有内容。它对我有用,我希望它对你也有帮助。
*URI的结尾很奇怪!您是否更改了此字符串上的某些内容?
推荐阅读
- c# - C# 使用 ManualResetEvent 启动停止线程
- c# - 动作结果
> 必须返回一个列表 - php - 如何检查是否在php用户空间中使用了return_value(来自php函数,在本机扩展内)?
- google-apps-script - App Script中doc/docx的访问dom
- php - 在 Shopware 中创建主题期间,我在 Theme.php 中做错了什么配置主题按钮被禁用?
- javascript - .find() 在 DOMNodeInserted 上无法按预期工作
- c - TunTap 设备接收 ping
- php - Docusign 从模板下载文件
- oauth-2.0 - Azure Active Directory 的 OAuth 客户端收到 AADSTS70002:验证凭据时出错
- .net - 使用通过 LINQ 查询的 SQL Server 中的超时异常