这里有全部的noob,目前正在学习node.js以及它所能获得的所有乐趣。我用node/express编写了一个REST API,数据库使用mongoDB(代码中使用mongoose)。该数据库是一个托管在AWS上的免费数据库(通过mongoDB网站)。
我正在用Postman调用以下endpoint:https://rewaer-backend.herokuapp.com/api/users/。
路由如下所示:
// GET all users
router.get("/", async (req, res) => {
try {
const user = await User.find();
res.json(user);
}
catch (err) {
res.status(400).json({ message: err });
}
});
但是我从Heroku那里得到了以下错误:
2020-10-07T14:39:58.684608+00:00 HEROKU[router]:AT=错误代码=h12 desc=“请求超时”method=post path=“/api/users/”host=rewaer-backend.herokuapp.com request_id=94d50342-514e-45e7-94ad-5cb1acde44fa fwd=“37.120.11.242”dyno=web.1连接=1ms服务=30001ms状态=503字节=0协议=https
我的收藏“用户”只有两组数据。而且,真的很小。当在本地运行服务器(连接到AWS上的DB)时,这可以正常工作。正如您在我的代码中看到的,我应该返回一些东西,即使发生错误。所以没有理由在这里暂停。Heroku日志显示与db的连接成功。
我不知道在这里什么是不起作用的,谷歌也无法进一步帮助我:因此我向真正明智的人请教;)
非常感谢你的帮助,
克莱门特
MongoDB驱动程序中的默认服务器选择超时为30秒。Heroku的路由层也有30秒的超时,让应用服务器产生响应。