我正在尝试使用Sequelize查询数据库,以获取在特定日期范围之间创建的项目。我使用了$between
运算符但我似乎没有得到任何东西。
{ where: {"createdAt":{"$between":["2018-03-31T21:00:00.000Z","2018-05-30T05:23:59.007Z"]}} }
任何人都可以帮我解决这个问题吗?
答案 0 :(得分:2)
$between
语法似乎是正确的。您使用的方式没有问题。我尝试使用以下查询进行复制
model.findAll({
where: {
created_at: {
"$between": ["2018-03-31T21:00:00.000Z","2018-05-30T05:23:59.007Z"]
}
}
})
唯一的变化是,我使用created_at
代替createdAt
。确保您的列名称正确。如果不是,它应该抛出SequelizeDatabaseError
。寻找它。
如果其他一切都正确,那么您可能没有该日期范围内的数据:)
答案 1 :(得分:0)
我也有同样的问题,我得到了空数组作为响应。问题已使用解决:
const Op = Sequelize.Op;
,然后使用[Op.between]
,如下所示:
where: {
createdAt: {
[Op.between]: ["2018-07-08T14:06:48.000Z", "2019-10-08T22:33:54.000Z"]
}
}
希望它会有所帮助:)