我在Sequelize中有一个表,有两个日期列 - 即:
var Visit = sequelize.define("Visit", {
/*...*/
scheduleEndDate: {
type: DataTypes.DATE
}
actualEndDate: {
type: DataTypes.DATE
}
/*...*/
});
我想在scheduleEndDate之前创建一个返回actualEndDate行的查询 - 并且无法获得正确的格式。我在where
查询的findAll
部分尝试过的是:
where: { actualEndDate: { lt: Visit.scheduleEndDate } }
- 抛出错误,因为访问未定义(也尝试使用this.scheduleEndDate - 也会抛出错误)
where: { actualEndDate: '< scheduleEndDate' }
- 将actualEndDate与字符串&#39;&lt;字符串进行字符串比较。 scheduleEndDate&#39;
我是否需要定义实例方法来进行日期比较/如何最好地解决?
答案 0 :(得分:15)
这应该可以用
where: { actualEndDate: { $lt: sequelize.col('scheduleEndDate') } }
答案 1 :(得分:1)
在最新版本(v5)中,您需要使用python setup.py build_ext
。 Docs
Sequelize.Op
所有操作:
const Op = Sequelize.Op;
...
where: {
actualEndDate: {
[Op.lt]: sequelize.col('scheduleEndDate')
}
}