我在一个React / Express / MongoDB项目中, 在服务器的注册路径中,我成功地检查了电子邮件是否已经被接收, 但是,现在我想同时检查电子邮件和用户名是否已被占用
我现在的代码仅用于电子邮件检查(有效):
User.findOne({ email: req.body.email }).then(user => {
if (user) {
return res.status(400).json({ email: "Email already exists" });
} else {
const newUser = new User({
name: req.body.name,
email: req.body.email,
password: req.body.password
});
我尝试通过电子邮件和用户名检查(不起作用)来完成此操作:
User.findOne(
{
$or: [{ email: req.body.email }, { username: req.body.username }]
},
function(err, docs) {
if (docs.length !== 0) {
if (docs[0].email === req.body.email) {
errors.username = "Email already exists";
} else if (docs[0].username === req.body.username) {
errors.username = "Username already exists";
}
} else {
const newUser = new User({
email: req.body.email,
username: req.body.username,
firstname: req.body.firstname,
lastname: req.body.lastname,
sexe: req.body.sexe,
mobilePhone: req.body.mobilePhone,
departement: req.body.departement,
city: req.body.city,
password: req.body.password
});
我得到的错误:
TypeError: Cannot read property 'email' of undefined
有人可以帮我吗? :D
谢谢