我正在尝试将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
,但运气不好。
我想念什么?
如果您有任何想法!谢谢大家!
答案 0 :(得分:4)
我终于设法找到问题所在。
在mongo Atlas界面中,只有我的语言环境机器ip被列入白名单。
我现在已经将群集打开到任何IP。而且有效。