当我尝试运行以下查询时,我使用的是mysql:
Order.findAll({
where: {
end_date: {
$ne: null,
},
},
});
它生成的where子句如下所示:
where: "`Order`.`end_date` = '2020-03-11 03:00:00'
我尝试过使用$nin和$not,也尝试过使用原始查询,但仍然得到了相同的结果。
我看到sequelize和mysql在后面的几个版本中有一个错误,但它似乎是在5.19.5上修复的,我使用的是5.21.5版本。
Mysql版本为5.7.29
有人能帮我吗?
编辑:在其他地方找到了一个解决方案,我所要做的就是使用[Op.no]。如果有人也需要这个。
这在sequelize v5中不起作用。这是要走的路
const Op = require('sequelize').Op
Order.findAll({
where: {
end_date: {
[Op.ne]: null,
},
},
});
您可以在此处阅读有关使用运算符的更多信息。此处为弃用警告。