Sintaxe simplificada para jsonb no PostgreSQL 14

De acordo com o telegrama do canal Cross the Join , o repositório Postgres caiu Komichi , mais fácil de trabalhar com jsonb. Agora você pode acessar partes do jsonb usando colchetes, e isso funciona tanto para leitura quanto para escrita.







Adeus jsonb_set e outras muletas como data = data - 'a' || '{"a":5}'









Alguns exemplos:



Atualizamos o valor do objeto por chave. 25 é um número aqui, mas colocado entre aspas porque o valor atribuído deve ser jsonb







-- (person_data   jsonb)
UPDATE users 
SET person_data['age'] = '25'; 
      
      





A atualização também funciona com jsonb vazio (nulo).







Filtramos a tabela pelo campo name = Pasha. Pasha é uma string, mas também escrita na forma jsonb: '"Pasha"', portanto, aspas duplas extras







SELECT * 
FROM users 
WHERE person_data['name'] = '"Pasha"';
      
      





Pegue o valor do objeto pela chave "idade"







SELECT ('{"age": 25}'::jsonb)['age'];
      
      





Ou você pode especificar um caminho longo







SELECT ('{"a": {"b": {"c": 1}}}'::jsonb)['a']['b']['c'];
      
      





Elemento de array por índice







SELECT ('[1, "2", null]'::jsonb)[1];
      
      





Mais importante ainda, as mudanças serão incluídas no postgreSQL 14!







A ideia original da sintaxe pertence a Oleg Bartunov, implementação - Dmitry Dolgov








All Articles