2017-02-19 7 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に設定されるまで第2の条件がチェックされます。

/* 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"); 
    } 
}); 
関連する問題