我在使用 or 语句是 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 语句,而是只从 Users 中选择 *
最佳答案
您应该给出不同的 where 条件作为 $or
数组的不同元素
请尝试这个:
$or: [
{
email: req.body.email
},
{
username: req.body.username
}
]
关于javascript - 在sequelize where查询中使用OR语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45945365/