首页 > 解决方案 > 无法将 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..."));

标签: node.jsmongodbherokumongoose

解决方案


我也遇到了类似的问题,首先要做的是测试新连接* (mongodb+srv://theosadxen:newPassword@cluster0a5rdm.mongodb.net/auth),它仍然在您的计算机上运行。如果已建立连接,请尝试:

确保您的 IP 已列入白名单。最简单的解决方案是添加 0.0.0.0/0 的“所有 IP”白名单

然后把用户的密码改成mongodb建议的密码(Autogenerate Secure Password)

在您的应用程序中修改它并为 heroku 进行新的提交,以重新启动所有内容。它对我有用,我希望它对你也有帮助。

*URI的结尾很奇怪!您是否更改了此字符串上的某些内容?


推荐阅读