Javascript 用户存在或未使用nodejs的值
我在React做一个项目,遇到了一个让我难堪的问题 我想添加新用户,但想检查用户是否存在。我试图发送自定义消息,但仍然没有发送自定义消息 这是我的代码,我不知道如何给出自定义消息 如果有人有什么解决办法,如果你能帮助我,那就太好了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
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
);
}