我正在学习猫鼬,我试图寻找答案,但是任何带有猫鼬和未定义的东西都会返回数十个有关人们从各种问题组合中变得不确定的问题。
查询时Mongoose的预期行为是什么,例如:
User.find({email: undefined})
它只会搜索未定义的字段吗?它会搜索空字段还是虚假字段?
我问是因为我要学习的教程包含以下几行:
const {email, password} = _.pick(req.body, ["email", "password"]);
/*
*If the email is not provided it'll look for undefined
*/
User.findOne({email}).then(user => {
bcrypt.compare(password, user.password)
.then(result => {
if(!result) {
return Promise.reject()
}
res.status(200).send({email, password});
}).catch(err => res.status(400).send())
}).catch(err => res.status(400).send())
我在我的收藏集中的少量文档似乎工作正常,但是当大量查询甚至推到最轻微的情况时,通常都会出现陷阱。
简而言之,我想知道猫鼬是否有可能检索意外值,还是会坚持使用未定义电子邮件的文档。
谢谢。