【发布时间】:2020-02-27 13:29:45
【问题描述】:
我有一个带有jsonb字段的表,值的一个例子:
{
"id": "test",
"data": [
{
"folder1": ["id1", "id2", "id3"]
}
]
}
我想将数组 ["id1", "id2", "id3"] 里面的数据替换为 [{"id": "id1", "size": 10}, {"id": "id2 ", "size": 100}, {"id": "id3", "size": 1000}]:
{
"id": "test",
"data": [
{
"folder1": [
{"id": "id1", "size": 10},
{"id": "id2", "size": 100},
{"id": "id3", "size": 1000}
]
}
]
}
如果可以在单个 sql 构造中更新它,我需要使用 pl/sql 来更新它吗?
【问题讨论】:
-
10、100 和 1000 是从哪里来的?
-
拥有一个对象数组,其中每个对象都有一个唯一标识符,这是一种反模式。如果每个对象都有标识,则使用该标识作为更高级别对象的键,而不是使用更高级别的数组。
标签: sql json postgresql jsonb