Sequelize OR为null

时间:2015-08-16 02:50:49

标签: sql node.js sequelize.js

我正在尝试使用Sequelize生成(半)复杂条件。

我想要生成的SQL是:

SELECT * FROM Tasks
WHERE completedDate IS NULL OR completedDate < CURRENT_TIMESTAMP;

所以我使用的是Sequelize命令:

Task.findAll({
  where: {
    completedDate: null
  },
  $or: [
    {
      completedDate: {
        $lt: new Date()
      }
    }
  ]
});

然而它返回0行。我做错了吗?

1 个答案:

答案 0 :(得分:1)

我相信Sequelize $or要求两个条件都在同一个区块中。尝试这样的事情:

Task.findAll({
    completedDate: {
       $or: {
            $eq: null,
            $lt: new Date()
       }
    }
});