Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 用户存在或未使用nodejs的值_Javascript_Node.js_Reactjs_Validation_Mongoose - Fatal编程技术网

Javascript 用户存在或未使用nodejs的值

Javascript 用户存在或未使用nodejs的值,javascript,node.js,reactjs,validation,mongoose,Javascript,Node.js,Reactjs,Validation,Mongoose,我在React做一个项目,遇到了一个让我难堪的问题 我想添加新用户,但想检查用户是否存在。我试图发送自定义消息,但仍然没有发送自定义消息 这是我的代码,我不知道如何给出自定义消息 如果有人有什么解决办法,如果你能帮助我,那就太好了 const Employee = require("../models/employeeSchema"); //custom imports const AppError = require("../helpers/appErrorCl

我在React做一个项目,遇到了一个让我难堪的问题

我想添加新用户,但想检查用户是否存在。我试图发送自定义消息,但仍然没有发送自定义消息

这是我的代码,我不知道如何给出自定义消息

如果有人有什么解决办法,如果你能帮助我,那就太好了

const Employee = require("../models/employeeSchema");

//custom imports
const AppError = require("../helpers/appErrorClass");
const sendErrorMessage = require("../helpers/sendError");
const sendResponse = require("../helpers/sendResponse");

const addEmployees = async (req, res, next) => {
    try {
        let data = req.body;
        let newEmployee = {};
        newEmployee.firstName = data.firstName.trim();
        newEmployee.lastName = data.lastName.trim();
        newEmployee.company = data.company.trim();
        newEmployee.email = data.email.trim();
        newEmployee.contact = data.contact;
        newEmployee.skills = data.skills.split(",").map((skill) => {
            return skill.trim();
        });
        newEmployee.altDescription = data.altDescription.trim();
        newEmployee.hobbies = data.hobbies.split(",").map((hobby) => {
            return hobby.trim();
        });
        newEmployee.socialLinks = [
            {
                gitHub: data.gitHub,
                linkedIn: data.linkedIn,
                website: data.website,
            },
        ];
        newEmployee.imageUrl = req.image;
        let employee = await Employee.find({ email: newEmployee.email });
        if (employee.email === newEmployee.email) {
            return sendErrorMessage(
                new AppError(
                    400,
                    "Unsuccessful",
                    "Email already exist try with another Email id"
                ),
                req,
                res
            );
        } else {
            let data = await Employee.create(newEmployee);
            sendResponse(200, "Employee added Succesfully", data, req, res);
        }
    } catch (err) {
        return sendErrorMessage(new AppError(400, "unsuccessful", err), req, res);
    }
};

module.exports.addEmployees = addEmployees;
我不知道为什么会发生这种情况,如果有人经历过这种情况,我将不胜感激


编辑:

console.log(员工)
输出以下内容:

[{
employeeId:'c88wgb4ocuw01609613746852',
联系人:123456789,
imageUrl:'http://res.cloudinary.com/altafshaikh/image/upload/v1609613765/qbl7ujyz0wi6cy0xt3rf.jpg',
技能:[“睡眠”,“懒惰”],
altDescription:'你好,索拉夫',
嗜好:[“诺坦基”,“多特福”],
社交链接:[{}],
_id:5ff0c1c5327f300a55f6259a,
名字:“Saurav”,
姓氏:“Upadhyay”,
公司:“未加工”,
电邮:'sourav23@gmail.com',
__v:0
}]

这是因为
employee
是一个数组。您需要访问第一个元素

if(employee.length&&employee[0]。电子邮件===newEmployee.email){
返回sendErrorMessage(
新出现(
400,
“不成功”,
“电子邮件已存在,请尝试使用其他电子邮件id”
),
请求,
物件
);
}
因为db查询条件是
email
,所以我们可以假设,如果没有找到匹配项,它将返回空数组。这还意味着只有在找到匹配项时才会填充数组。因此,我们也可以避免不必要的检查电子邮件是平等的。你可以这样做

if (employee.length) {
  return sendErrorMessage(
                new AppError(
                    400,
                    "Unsuccessful",
                    "Email already exist try with another Email id"
                ),
                req,
                res
            );
}