gpt4 book ai didi

javascript - sequelize 用小时 = 2 解释日期

转载 作者:可可西里 更新时间:2023-11-01 09:01:16 24 4
gpt4 key购买 nike

我正在尝试使用 sequelize 在我的数据库中基于日期字段搜索记录:

date_from2 是这个值:

2017-01-09

sequelize 将其解释为 hour = 2 的日期:

SELECT `id`, `user_id`, `date`, `total_visits`, `created_at`, `updated_at` FROM `table1` AS `table1` WHERE `table1`.`user_id` = 123 AND `table1`.`date` = '2017-01-09 02:00:00' LIMIT 1;

它每次都会创建一条新记录,而不是更新它。当它插入时,日期被插入这个值:

2017-01-09 00:00:00

这是我的代码:

where = { user_id: user_id,
date: date_from2
};

values = {
user_id: user_id,
date: date_from2,
total_visits: total_visits

};

Model.findOne({where: where}).then(function (record) {
if (!record) {
// Item not found, create a new one
Model.create(values)
.then(function () {
console.log('created!');
}).error(function (err) {
console.log('error on create');
});
} else {
// Found an item, update it
Model.update(values, {where: where})
.then(function () {
console.log('updated!');
})
.catch(function (err) {
console.log('error on update');
});
}
});

最佳答案

如果您尝试获取特定用户,则仅使用用户的 user_id 而不是 date 进行查询:

Model.findOne({where: {user_id: user_id}})

问题在于它存储 date 的方式与您传入的内容不同。因此,您永远无法找到现有用户,并且不断创建新用户。使用 UTC 时区没有任何问题,您应该能够将其转换为任何其他时区。

关于javascript - sequelize 用小时 = 2 解释日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41539814/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com