如何限制重复电子邮件的输入(即已存在于我的数据库中)?

时间:2017-10-13 10:47:01

标签: node.js mongodb

此代码用于插入新记录:

var user=require('mongoose').model("UserProfile");
user.createAccountPage=function(req,res)
{
    var UserSchema=new user(req.body);
    UserSchema.save(function(err,obj){
        if(!err)
        {
            console.log("Created Account")
            var outPut={
                msg:"Created Account",
                data:obj

            }
            res.json(outPut)
        }
        else
        {
             console.log(err);
            console.log("Not created Account")
            var outPut={
                msg:"Not created Account",
                data:err


            }
            res.json(outPut)
        }



    })

这是在db:

上保存数据的脚本
 $("#submitButton").click(function()
            {
                var Name=$("#inputName").val();
                var Father_Name=$("#inputFatherName").val();
                var Email=$("#inputEmail").val();
                var Phone=$("#inputNumber").val();
                var CreateAccountDataObj={
                    Name:Name,
                    Father_Name:Father_Name,
                    Email:Email,
                    Phone:Phone
                }

这是ajax代码

 $.ajax({
                url: '/createAccount',
                // dataType: "jsonp",
                data: CreateAccountDataObj,
                type: 'POST',
                jsonpCallback: 'callback', // this is not relevant to the POST anymore
                success: function(data) {
                    //var ret = jQuery.parseJSON(data);

                    console.log(data)
                    $("#Name").text(data.data.Name);
                    $("#Father").text(data.data.Father);
                    $("#Email").text(data.data.Email);
                    $("#Number").text(data.data.Number);
                    $(".hideAndShow").show();
                },
                error: function(error) {
                    console.log('Error: ' + error.message);

                },
            });

我需要使用NodeJS限制重复电子邮件的输入。我正在尝试这个。我也使用MongoDB作为数据库和ExpressJS。

1 个答案:

答案 0 :(得分:0)

只需将其添加到您的架构{unique: true}

new Schema({
  email: { 
    type: String,
    unique: true
  }
})