猫鼬尝试使用节点js连接到heroku mlab mongo db时出现h12错误,为什么?

时间:2018-07-04 07:31:14

标签: node.js mongodb heroku mongoose

我的代码

const mongoose = require("mongoose");
mongoose.set("debug", true);
mongoose.Promise = Promise;

mongoose.connect(process.env.MONGODB_URI);
let db = mongoose.connection;

db.on('error', console.error.bind(console, 'connection error:'));

module.exports.User = require("./user");
module.exports.Profile = require("./profile");
module.exports.Lawyer = require('./lawyer');

当尝试连接到MongoDB时,出现此H12错误(我更改了一些字符并删除了应用名称)

at=error code=H12 desc="Request timeout" method=POST path="/api/auth/signin" host=---------.herokuapp.com request_id=2942dabg6-d30c-43d5-b4d8-c45f435e6bgf56h fwd="217.160.71.211" dyno=web.1 connect=1ms service=30230ms status=503 bytes=0 protocol=https

我尝试了在网络上可以找到的所有解决方案,例如获取MONGODB_URI并将其放置而不是“ process.env”等。

2 个答案:

答案 0 :(得分:0)

我已解决此问题,请尝试将您的主机IP地址添加到mongodb IP白名单中。

答案 1 :(得分:-1)

enter image description here 检查您的mongo地图集,并确保已配置Ip地址,以便Heroku可以获取数据。 检查此链接以观看地图集配置 https://i.stack.imgur.com/Qz1aM.png