javascript - Sequelize 带有日期的 Where 语句

标签 javascript node.js sequelize.js

我使用 Sequelize 作为我的后端 ORM。现在我想在日期上做一些 WHERE 操作。

更具体地说,我想获取日期介于现在和 7 天前之间的所有数据。

问题是文档没有指定可以对 Datatypes.DATE

进行哪些操作

谁能指出我正确的方向?

最佳答案

正如 Molda 所说,您可以使用 $gt$lt$gte$lte有日期:

model.findAll({
  where: {
    start_datetime: {
      $gte: moment().subtract(7, 'days').toDate()
    }
  }
})

如果您使用的是 Sequelize v5,则必须包含 Op 因为 key 已移至 Symbol

const { Op } = require('sequelize')

model.findAll({
  where: {
    start_datetime: {
      [Op.gte]: moment().subtract(7, 'days').toDate()
    }
  }
})

查看更多 sequelize documentation here

关于javascript - Sequelize 带有日期的 Where 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29798357/

相关文章:

javascript - 如何使用 Sequelize 检索不属于多对多关联的所有记录

javascript - 如何在没有弹出的情况下获取数组的最后一项?

javascript - 匿名函数赋值变量在本地可用吗?

JQuery Ui 和 Electron

mysql - 根据时区时间选择数据

javascript - Sequelize 查找或创建项目列表

javascript - 超时未按预期工作

javascript - 从加载 jQuery 的表单中检索数据并将其传递到父页面

javascript - Sequelize setter 不起作用

node.js - 无法使用 Sequelize ORM 连接到 AWS RDS