console.log(correct.password)
返回undefined
,而if条件返回false
。
app.post('/login' , async (req , res)=>
{
const correct = data.findOne({name : req.body.name}).select({name : 0});
if(!correct)
{
return res.status(400).send("Invalid Username or
Password")
};
console.log(correct.password);
const passcomp = compare(req , correct);
if(!passcomp) { console.log("innnncorrect");return
res.status(400).send("Invalid Username or Password");}
res.send("Successful");
});
我应该获得所请求用户的密码,但是我收到的查询既不包含名称也不包含密码。
我该如何解决问题?
答案 0 :(得分:0)
您可能只需要在查询之前添加await
关键字,就像在 async 函数中一样:
const correct = await data
.findOne({ name : req.body.name })
.select({ name : 0 });