2017-02-19 8 views
0

Я застрял во время написания своего сайта на этом этапе.Node.js + MongoDB, проверяя, существует ли электронная почта в базе данных

Существует функция:

/* check if email already exists in database */ 
function validateEmailAccessibility(email){ 

    User.findOne({email: email}).then(function(result){ 
     if(result!=null){ 

     } 
    }); 
} 

И вопрос в том, как, черт возьми, я должен вернуться ложным, если он уже существует?

Я попытался сделать это так, но, очевидно, второе условие проверяется до тех пор, пока значение переменной temp не будет установлено на false.

/* check if email already exists in database */ 
function validateEmailAccessibility(email){ 
    var temp; 
    User.findOne({email: email}).then(function(result){ 
     if(result!=null){ 
      temp = false; 
     } 
    }); 
    if(temp === false) return false; 
} 

Я понятия не имею, что делать.

ответ

0

Вы должны были бы вернуть обещание в validateEmailAccessibility:

function validateEmailAccessibility(email){ 

    return User.findOne({email: email}).then(function(result){ 
     return result !== null; 
    }); 
} 

И где-то в вашем коде:

validateEmailAccessibility(email).then(function(valid) { 
    if (valid) { 
    alert("Email is valid"); 
    } else { 
    alert("Email already used"); 
    } 
}); 
Смежные вопросы