在我的 Node js 应用程序中,我有一种情况,我必须获取 当前时间 并检查它是否在 db 表中的 开始时间 和 结束时间 之间。首先,我将一些具有 开始时间 和 结束时间 的数据提交到数据库。然后,我有一个调度程序,它在每一分钟内检查当前时间并检查它是否在 db 表中的 开始时间 和 结束时间 之间以继续。我无法弄清楚如何通过 sequelize 实现这一目标。我在 sequelize 中找不到 between
条件的解决方案。它仅在我们发送开始时间和结束时间时才有帮助,据我了解,我们应该比较的日期在 db 中。不是我需要的那个。
我写了这个示例代码以使其易于理解,但它在语法上是错误的。
const data = dataSource.DBTableName.findAll({
attributes: [
// db columns
],
where: {
trackStartTime < currentTime, // This current time should be between trackStartTime and trackEndTime in db
trackEndTime > currentTime
}
});
如果有人可以帮助我如何通过 sequelize 实现它,我将不胜感激。
最佳答案
你应该做这个
const data = dataSource.DBTableName.findAll({
attributes: [
// db columns
],
where: {
[Op.and]: [
{
trackStartTime: {
[Op.lte]: currentTime
}
},
{
trackEndTime: {
[Op.gte]: currentTime
}
}
]
}
});
关于node.js - Sequelize 检查时间是否在数据库中的时间之间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67711673/