PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

postgres jsonb_set atualização de várias chaves


A documentação diz :

Então, usando seus dados de exemplo:
update table_name set
    data = data || '{"city": "ottawa", "phone": "phonenum", "prefix": "prefixedName"}'
    where number = 1;

Além disso, se o objeto que você deseja editar não estiver no nível superior - basta combinar a concatenação e jsonb_set função. Por exemplo, se os dados originais parecerem
{"location": {"name": "firstName", "city": "toronto", "province": "ON"}}

então
...
data = jsonb_set(
    data, 
    '{location}', data->'location' || '{"city": "ottawa", "phone": "phonenum", "prefix": "prefixedName"}')
...