2017-02-19 113 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){ 

     } 
    }); 
} 

,問題是到底我如何返回false,如果它已經存在?

我試過這樣做,但顯然第二個條件被檢查,直到變量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"); 
    } 
}); 
相關問題