NodeJS函数不识别变量

NodeJS function not recognizing variable

本文关键字:变量 识别 函数 NodeJS      更新时间:2023-09-26

我创建了一个电子邮件检查器函数,用于在注册新用户之前验证电子邮件是否存在。我分配了任务。主体到用户。但是,我的电子邮件检查器函数中的newUser函数不能识别变量user。我如何将user传递到函数中,这样如果电子邮件无法识别,我就可以创建新用户?

下面是我的代码:
app.post("/api/user", function(req, res) {
    var user = req.body;
    console.log("line 117", user);
    var searchUser = {
        email: user.email
    };
    User.findOne(searchUser, function(err, user){
        if (err) throw err;
        if (user) return res.status(401).send({
            message: "email already exists"
        });
        var newUser = new User({
            firstName: user.firstName,
            lastName: user.lastName,
            email: user.email,
            password: user.password
        });
        newUser.save(function(err) {
            createSendToken(newUser, res);
        });
    });
});

更正后的代码:

应用程序。Post ("/api/user", function(req, res) {

var subscriber = req.body;
var searchUser = {
    email: subscriber.email
};
User.findOne(searchUser, subscriber, function(err, user){
    if (err) throw err;
    if (user) return res.status(401).send({
        message: "email already exists"
    });
    var newUser = new User({
        firstName: subscriber.firstName,
        lastName: subscriber.lastName,
        email: subscriber.email,
        password: subscriber.password
    });
    newUser.save(function(err) {
        createSendToken(newUser, res);
    });
});

});