gpt4 book ai didi

node.js - Sequelize 在更新时抛出无效值 [Function]

转载 作者:行者123 更新时间:2023-12-03 22:38:51 24 4
gpt4 key购买 nike

我正在尝试更新现有记录,旨在仅更新时间戳,但是每当我执行这个简单查询时,我都会收到一条错误消息:Invalid value [Function]
这是查询代码:

await db.Notification.update({
updatedAt: moment().format()
}, {
where: {
$and: [
{ 'permit_id': { $eq: id } },
{ 'user_id': { $eq: req.currentUser.id } },
]
}
});

网上还没有找到关于这个问题的任何解决方案,我还想强调以下代码可以正常工作:
await db.User.update({
refreshToken: null
},{
fields: ['refreshToken'],
where: {
id: req.currentUser.id,
}
});

即使它们不相关,我也尝试将它们相似,但仍然收到相同的结果。
我也试过:
  • 更新另一个字段而不是时间戳。
  • 将硬编码字符串指定为 updatedAt 值
  • 坚持使用或不使用像 where: { user_id: { $eq: req.currentUser.id } } 这样的运算符的单个 where 查询,其中字段和值都是整数或字符串类型,如果没有运算符
  • 将更新字段保留为空对象
  • 指定我试图在 fields 对象中更新的字段,如用户更新查询
  • 中所列

    可能因为一个简单的错误或我错过的事情而过热。请问有什么想法吗?

    最佳答案

    我没有完全解决这个问题,而是找到了一个解决方法。我升级了我的 Sequelize 以使用 typescript ,这对我有用。

    另一种解决方法是使用原始更新查询和/或指定更新的查询类型。例如:

    totalEarnings = await db.sequelize.query('SELECT SUM("priceEstimate") FROM  "Orders" WHERE "assignedCarId" IN (:id)', {
    replacements: {id: carIds},
    type: db.sequelize.QueryTypes.SELECT
    });

    关于node.js - Sequelize 在更新时抛出无效值 [Function],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53715412/

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