jsonb_array_elements
का उपयोग करें सभी ऐरे एलिमेंट को अननेस्ट करने के लिए और फिर आवश्यक जोंस जोड़ें और jsonb_agg
का उपयोग करें इसे फिर से एकत्रित करने के लिए:
with cte as
(select id,
jsonb_agg(jsonb_set(val1,
'{blocs}',
(select jsonb_agg(arr2 || '{"type": "regular"}')
from jsonb_array_elements(arr1.val1 - >
'blocs') arr2)))
from challenge,
jsonb_array_elements(lines) arr1(val1)
group by 1)
update challenge
set lines = (cte.jsonb_agg)
from cte
where challenge.id = cte.id