PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Cara Mendorong objek JSON ke array bersarang di kolom JSONB

Trik untuk jsonb_set() apakah itu memodifikasi bagian dari jsonb objek, tetapi mengembalikan seluruh objek. Jadi Anda memberikan nilai kolom saat ini dan jalur yang ingin Anda ubah ("halaman" di sini, sebagai larik string), lalu Anda mengambil larik yang ada (my_column->'pages' ) dan tambahkan || objek baru untuk itu. Semua bagian lain dari jsonb objek tetap seperti apa adanya. Anda secara efektif menetapkan objek yang sama sekali baru ke kolom tetapi itu tidak relevan karena UPDATE tetap menulis baris baru ke tabel fisik.

UPDATE my_table
SET my_column = jsonb_set(my_column, '{pages}', my_column->'pages' || new_json, true);

Opsi create_missing parameter disetel ke true di sini tambahkan objek "halaman" jika belum ada.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Apakah mungkin untuk menyimpan nomor 1 byte di Postgres?

  2. Cara menjalankan file kueri sql melalui RPostgreSQL

  3. Bagaimana menemukan tabel yang memiliki kolom tertentu di postgresql

  4. Postgres, table1 kiri bergabung dengan table2 dengan hanya 1 baris per ID di table1

  5. Pemicu Postgresql saat pengguna masuk