Sintaks yang disederhanakan untuk jsonb di PostgreSQL 14

Menurut telegram-channel Cross the Join , repositori Postgres jatuh dari Komichi , lebih mudah untuk bekerja dengan jsonb. Anda sekarang dapat mengakses bagian-bagian jsonb menggunakan tanda kurung siku, dan ini berfungsi untuk membaca dan menulis.







Selamat tinggal jsonb_set dan kruk lain seperti data = data - 'a' || '{"a":5}'









Beberapa contoh:



Kami memperbarui nilai objek dengan kunci. 25 adalah angka di sini, tetapi diapit tanda kutip karena nilai yang ditetapkan harus jsonb







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





Pembaruan bekerja dengan jsonb kosong (null) juga.







Kami memfilter tabel dengan bidang name = Pasha. Pasha adalah sebuah string, tetapi juga ditulis dalam bentuk jsonb: '"Pasha"', jadi tambahan tanda kutip ganda







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





Dapatkan nilai objek dengan kunci "usia"







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





Atau Anda dapat menentukan jalur yang panjang







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





Larik elemen dengan indeks







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





Yang terpenting, perubahan akan dimasukkan dalam postgreSQL 14!







Ide asli dari sintaks tersebut adalah milik Oleg Bartunov, implementasi - Dmitry Dolgov








All Articles