无法连接到数据库Heroku nestjs猫鼬

时间:2020-03-08 22:28:10

标签: node.js mongodb mongoose timeout nestjs

我正在尝试将nestjs项目部署到heroku。但是在连接到mongoDB时,我总是出现timout错误

2020-03-08T21:53:43.192716+00:00 app[web.1]: [31m[Nest] 54   - 
[39m03/08/2020, 9:53:43 PM   [38;5;3m[MongooseModule] [39m[31mUnable to connect to the database. 
Retrying (1)...[39m[38;5;3m +30084ms[39m
2020-03-08T21:53:53.398546+00:00 heroku[web.1]: State changed from starting to crashed
2020-03-08T21:53:53.308228+00:00 heroku[web.1]: Error R10 (Boot timeout) -> Web process failed to bind to $PORT within 60 seconds of launch

奇怪的是它是mongodb atlas集群(在云上),当我尝试从我的机​​器上访问它时,一切都很好...

这是一个看起来像这样的网址:mongodb+srv://myDbUserName:myPassword@cluster0-opbo3.gcp.mongodb.net/test?retryWrites=true&w=majority

我试图直接通过MongooseModule中的uri 像这样的MongooseModule.forRoot(CONFIG.MONGODB_URI)可以在我的机器上再次使用...但不是heroku ...

我还尝试将MONGODB_URI添加为heroku中的env变量,并使用它:process.env.MONGODB_URI,但运气不好。

我想念什么?

如果您有任何想法!谢谢大家!

1 个答案:

答案 0 :(得分:4)

我终于设法找到问题所在。

在mongo Atlas界面中,只有我的语言环境机器ip被列入白名单。

我现在已经将群集打开到任何IP。而且有效。