sequelize.js - Sequelize 查询 - 比较两列中的日期

标签 sequelize.js

我在 Sequelize 中有一个带有两个日期列的表 - 即:

var Visit = sequelize.define("Visit", {
  /*...*/
  scheduleEndDate: {
    type: DataTypes.DATE
  }
  actualEndDate: {
    type: DataTypes.DATE
  }
  /*...*/
});

我想进行一个查询,该查询返回实际结束日期在 scheduleEndDate 之前的行 - 并且无法获得正确的格式。我为 where 所做的尝试我的一部分 findAll查询是:
where: { actualEndDate: { lt: Visit.scheduleEndDate } }

- 抛出错误,因为未定义访问(也尝试过 this.scheduleEndDate - 也抛出错误)
where: { actualEndDate: '< scheduleEndDate' }

- 将 actualEndDate 与字符串 '< scheduleEndDate' 进行字符串比较

我是否需要定义一个实例方法来进行日期比较/如何最好地解决?

最佳答案

这应该是可能的

where: { actualEndDate: { $lt: sequelize.col('scheduleEndDate') } }

关于sequelize.js - Sequelize 查询 - 比较两列中的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30452977/

相关文章:

Javascript - for循环仅打印最后一次迭代

mysql - 使用 MYSQL : Raw query returns a "duplicate" result 进行 Sequelize

node.js - 使用 multer 将多个图像上传到 AWS S3

postgresql - 如何将复杂的 GROUP BY 转换为 Sequelize?

javascript - #Sequelize 同时添加检索所有属性

node.js - 根据事务 Sequelize hook

node.js - 为什么我通过 App Engine 部署的应用无法连接到 Cloud SQL postgres 数据库?

node.js - Flash 消息不适用于 connect-session-sequelize

javascript - Node.js - 如何使用 Sequelize 事务