【发布时间】:2021-03-10 08:24:14
【问题描述】:
我有一个函数应该根据用户的电子邮件更新令牌。问题是,即使 mongoDB 数据库中没有任何带有指定电子邮件的文档,以下代码也会返回一个令牌,并且该函数将响应代码 200 返回到我的服务器函数。当指定的电子邮件不在数据库中时,我想阻止更新文档(以及任何进一步的操作),或者我想返回一些信息(无论响应代码如何)以防止进一步的代码正在执行。
const vnosZetona = (req,res) =>{
if(!req.body.ePosta ){
return res.status(400).json({
"sporočilo": "Epošta uporabnika manjka! Parameter je obvezen"
});
}
if(!(new RegExp("[a-z]{2}[0-9]{4}@student.uni-lj.si").test(req.body.ePosta))){
return res.status(400).json({
"sporočilo": "Izgleda da nisi študent UL! Hm, "
});
}
var generiranZeton = generirajObnovitveniZeton();
User
.updateOne( {email: req.body.ePosta},
{ $set: {zetonZaObnavljanjeGesla:generiranZeton}},
(napaka) => {
if(napaka){
return res.status(400).json(napaka);
}else{
return res.status(200).json({
zeton : generiranZeton,
"sporočilo" : "Žeton uspešno dodan."
});
}
}
)
};
【问题讨论】: