续集$gt日期转换为 = 日期而不是>日期



我刚开始使用Sequelize和Node.js,但我的代码中存在日期比较问题。

User.findOne({ where: {
resetToken: passwordToken,
resetTokenExpiration: { $gt: Date.now() },
id: userId
}})

当我运行它并检查日志时,查询是:

SELECT `id`, `password`, `email`, `resetToken`, `resetTokenExpiration`, `createdAt`, `updatedAt` FROM `users` AS `user` WHERE `user`.`resetToken` = 'f5779192069c3f1c3d8aae3019cf6172e83d9f07b3741a50caedf793dc3bb43c' AND `user`.`resetTokenExpiration` = '2019-11-19 06:00:00' LIMIT 1;

为什么不使用resetTokenExpiration>date,而是使用resetTakeExpiration=date?

感谢

您需要指定正确的范围运算符,在本例中为[Op.gt]

User.findOne({ where: {
resetToken: passwordToken,
resetTokenExpiration: { [Op.gt]: Date.now() }
id: userId
}})

最新更新