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