javascript - Node.js + MongoDB 检查电子邮件是否已存在于数据库中

标签 javascript node.js mongodb callback

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

有一个函数:

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

我不知道我该怎么办。

最佳答案

您需要在 validateEmailAccessibility 中返回一个 promise :

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");
  }
});

关于javascript - Node.js + MongoDB 检查电子邮件是否已存在于数据库中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42334367/

相关文章:

javascript - $.getJSON 是否重新排序数据?

javascript - 我怎样才能在 jQuery 中复制这个?

javascript - 如何在 Node.js 中将灰度图像矩阵转换为图像

javascript float 动态精度?

javascript - Node.js HTTP 代理架构 : downloading big amount of data for client

java - 将文档插入满足两个条件的文档中

mongodb - 从 compose.io 备份恢复 mongoDB?

javascript - 如何验证导入功能?

javascript - 在nodejs工作线程内调用函数

javascript - 使用 Passport.js 的 if 语句出现意外结果