我很确定这应该是一件简单的事情,但是我不知道为什么会发生,我在这里使用了nodejs和mongodb。
这是我正在调用的路由,当我这样做时,它只是返回带有空对象的404。 我确定这不是因为它无法找到具有电子邮件地址的用户,因为在这种情况下userFound将为null。但是我找不到为什么它直接捕捉到一个空错误或什么?
router.post("/notify", function (req, res) {
User.findOne({ email: req.body.email }).then((userFound) => {
const notification = {
type: req.body.type,
title: req.body.title,
description: req.body.description,
};
notification.destination = userFound;
Notification.save(function (err, notification) {
if (err) {
console.log(err);
res.status(500).send();
} else {
res.send(notification);
}
});
})
.catch((error) => {
return res.status(404).json(error);
});
});
对不起,我真的很愚蠢地问这个。.谢谢您的提前帮助。
答案 0 :(得分:0)
尝试在回调函数的参数中添加下一个:
router.post("/notify", function (req, res, next) {
User.findOne(...)
.catch((error) => next(error));
});
答案 1 :(得分:0)
首先要感谢你们所有的帮助人员,结果证明我确实做了一些非常愚蠢的事情,实际上我在打电话handleKeyDown(e){
if (e.key === 'Enter') {
console.log("working");
this.handleSubmit(e); // <-- pass e next
}
}
而不是const名称Notification.save()
,所以这就是为什么我得到notification.save()
错误