【问题标题】:Node.js + MongoDB checking if the email already exists in database [duplicate]Node.js + MongoDB检查电子邮件是否已存在于数据库中[重复]
【发布时间】:2017-02-19 23:50:50
【问题描述】:

此时我在编写我的网站时遇到了困难。

有一个功能:

/* 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;
}

我不知道该怎么办。

【问题讨论】:

    标签: javascript node.js mongodb callback


    【解决方案1】:

    您需要在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");
      }
    });
    

    【讨论】:

      猜你喜欢
      • 2014-05-10
      • 2019-06-29
      • 1970-01-01
      • 2019-09-17
      • 2014-03-15
      • 2020-03-17
      • 1970-01-01
      • 2019-03-25
      相关资源
      最近更新 更多