Node.js NodeJS自定义验证程序+;异步数据库调用
我正在组装一个自定义验证器,以检查特定集合(userSchema)是否包含特定电子邮件(值): 以下是检查数据库的代码:Node.js NodeJS自定义验证程序+;异步数据库调用,node.js,validation,mongoose,Node.js,Validation,Mongoose,我正在组装一个自定义验证器,以检查特定集合(userSchema)是否包含特定电子邮件(值): 以下是检查数据库的代码: async function findEmailInCollection(email, schema) { return new Promise((resolve, reject) => { schema.findOne({ email:email }, function(error, user) { if (erro
async function findEmailInCollection(email, schema) {
return new Promise((resolve, reject) => {
schema.findOne({ email:email }, function(error, user) {
if (error)
reject(false);
if (!user) {
reject(false);
}
resolve(true);
});
});
}
当FindEmailCollection解析为TRUE(即正确设置IF语句)时,它似乎可以工作,但如果IF语句返回FALSE,它就不能解析为FALSE-为什么会这样?当用户不存在时,拒绝的原因是什么?你就不能解决(错)
async function findEmailInCollection(email, schema) {
return new Promise((resolve, reject) => {
schema.findOne({ email:email }, function(error, user) {
if (error)
reject(false);
if (!user) {
reject(false);
}
resolve(true);
});
});
}