我将mongoose用于db连接,在我的情况下,我将联系人作为一个对象数组接收,然后遍历每个数组元素,尝试查找数据库中已经存在的副本,但在此之前,会调用next()。
这是我的密码
req.body.contacts.map((contact) => {
Contact.find(
{
contact_name: contact.contact_name,
phone: contact.phone,
user_id: req.userId,
},
(err, contacts) => {
if (contacts.length > 0) {
res.status(500).send({ message: "You have already submitted this contact" });
return;
} else if (err) {
console.log(err);
}
}
);
});
next();
1条答案
按热度按时间zysjyyx41#
省去你的一些麻烦,使用
await
语法。在多个异步操作的情况下,回调或.then()
语法是一个需要处理的噩梦。添加
.lean()
获取纯json(而不是mongoose对象,速度更快),以及.exec()
返回一个真实的承诺(不是一个表格),这样你就可以await
它干净利落。