我有一些问题使用或声明是sequelize。 以下是我能够提出的代码:
UserExist(req, res) {
const field = req.body.username || req.body.email;
const getFieldName = field === req.body.username ? 'username' : 'email';
return User
.findOne({ where: {
$or: [
{
email: req.body.email,
username: req.body.username
}
]
}
})
.then((user) => {
if (user) {
res.status(200).send({ message: `${getFieldName} already exist` });
}
})
.catch(() => res.status(404).send({ message: '' }));
}
而不是执行OR语句,它只选择*来自用户
答案 0 :(得分:5)
你应该在$or
数组
请试试这个:
$or: [
{
email: req.body.email
},
{
username: req.body.username
}
]