我试图更新现有记录,仅旨在更新时间戳,但是每当执行此简单查询时,我都会收到一条错误消息,内容为: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,
}
});
即使它们不相关,我也尝试对它们进行相似处理,但仍收到相同的结果。 我也尝试过:
where: { user_id: { $eq: req.currentUser.id } }
运算符处进行单查询,如果没有运算符,则字段和值的类型均为整数或字符串fields
对象中指定了我要更新的字段可能由于一个简单的错误或我错过的事情而变得过热。有什么想法吗?
答案 0 :(得分:0)
我没有完全解决此问题,而是找到了解决方法。我升级了Sequelize以使用打字稿,并且对我有用。
另一个解决方法是使用原始更新查询和/或指定查询类型进行更新。例如:
totalEarnings = await db.sequelize.query('SELECT SUM("priceEstimate") FROM "Orders" WHERE "assignedCarId" IN (:id)', {
replacements: {id: carIds},
type: db.sequelize.QueryTypes.SELECT
});