@cloyd
В PostgreSQL можно обновить JSON, находящийся внутри массива, следующим образом:
Например, предположим, что у вас есть следующая таблица с полем "data" типа jsonb:
1 2 3 4 |
CREATE TABLE my_table ( id SERIAL PRIMARY KEY, data JSONB ); |
1 2 3 |
UPDATE my_table SET data = jsonb_set(data, '{path_to_array, array_index}', '{"key": "new_value"}', TRUE) WHERE id = your_id; |
В этом запросе:
Примечание: в этом примере использован тип данных jsonb, но вы также можете использовать тип json. Оба типа поддерживают функцию jsonb_set
, однако jsonb предоставляет более эффективную работу с данными JSON.