将数据库替换为 postgreSQL 后,Sequelize 时间比较失败
Sequelize time comparison failed after database replacement to postgreSQL
我已经将 MySQL 数据库替换为 PostgreSQL,现在我在尝试通过 :
查找用户时遇到问题
.find({ where: { resetPasswordToken: req.params.token, resetPasswordExpires: { gt: Date.now() } } })
.then(function(user){
if (!user) {
req.flash('errors', { msg: 'Password reset token is invalid or has expired.' });
return res.redirect('/forgot');
}
res.render('account/reset', {
title: 'Password Reset'
});
})
.catch(function(err){
return next(err);
});
此代码在我收到消息之前有效:
SequelizeDatabaseError: operator does not exist: timestamp with time zone > bigint
数据库中的日期存储如下:2015-03-05 08:09:40.152+01
我将不胜感激,因为我不知道我的问题是由于数据库迁移还是我的代码中的某种类型引起的。非常感谢!
将您的 Date.now() 更改为新的 Date(),看起来就像您之前将时间存储为整数。
{ gt: new Date() }
我已经将 MySQL 数据库替换为 PostgreSQL,现在我在尝试通过 :
查找用户时遇到问题.find({ where: { resetPasswordToken: req.params.token, resetPasswordExpires: { gt: Date.now() } } })
.then(function(user){
if (!user) {
req.flash('errors', { msg: 'Password reset token is invalid or has expired.' });
return res.redirect('/forgot');
}
res.render('account/reset', {
title: 'Password Reset'
});
})
.catch(function(err){
return next(err);
});
此代码在我收到消息之前有效:
SequelizeDatabaseError: operator does not exist: timestamp with time zone > bigint
数据库中的日期存储如下:2015-03-05 08:09:40.152+01
我将不胜感激,因为我不知道我的问题是由于数据库迁移还是我的代码中的某种类型引起的。非常感谢!
将您的 Date.now() 更改为新的 Date(),看起来就像您之前将时间存储为整数。
{ gt: new Date() }