postgresql - 如何从单独列的嵌套 JSONB 值更新列?
问题描述
我正在尝试做这样的事情:
UserActivity.update({
type: col("activity.type")
}, {
where : {
activity: { id: 4285299988 }
}
})
其中列名是“活动”,它是一个 JSONB 字段。我需要以某种方式获取嵌套的“type”属性并将其分配给一个名为“type”的新列。
我可以找到很多关于如何在 where 子句中获取嵌套 JSONB 值的示例,但这不是我需要的。
解决方案
看起来我可以为此使用 sequelize.literal:
UserActivity.update({
type: literal(`activity ->> 'type'`)
}, {
where : {
activity: { id: 4285299988 }
}
})
这个答案虽然与更新没有特别相关,但让我走上了正确的道路:sequelize postgres combine fn 'date' with jsonb value