【发布时间】:2019-09-15 15:00:59
【问题描述】:
我有一个名为 test 的表,它有 2 列:(id int, md jsonb)。 md 列可以包含这样的数据
{
"a": {
...
"author": "alice"
...
},
"b": {
...
"author": "alice"
...
}
}
现在我想将alice 的所有实例更新为bob。
我通过这样做得到了包含alice 的行的ID
select id from test, lateral jsonb_each(md) where md->>'author' = 'alice';
是否有任何 Postgres 工具可以更新每个包含 author 字段的内部对象?
欢迎提出任何建议。
【问题讨论】:
-
jsonb_set()? - 但是使用正确规范化的数据模型会容易得多 -
如何使用它来遍历 jsonb 的每个内部对象并更新值?
标签: postgresql sql-update crud jsonb