我试图在一个名为param的列中将新对象添加到我的表中,在该列中我有:
{"array1": [
{"array2": [
{"objId": 1, "data": false, "repeat": 1},
{"objId": 2, "data": false, "repeat": 1}
]}
]}
我想将新对象添加到array2我正在使用该查询
UPDATE table
SET param = jsonb_set(
param::jsonb,
array['array1'],
(param->'array1'->>'array2')::jsonb || jsonb_build_object('objId', '3','data', 'false','repeat', '1')::jsonb)
WHERE ...
但不是
{"array1": [
{"array2": [
{"objId": 1, "data": false, "repeat": 1},
{"objId": 2, "data": false, "repeat": 1},
{"objId": 3, "data": false, "repeat": 1}
]}
]}
我的参数变为空。有人能解决吗?
我的解决方案是基于这个主题的
1条答案
按热度按时间pxyaymoc1#
试试这个:
你可以根据你的要求写where条款