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

Perbarui kunci bersarang dengan bidang json postgres di Rails

Tidak ada fungsi untuk mengganti kunci json, jadi Anda harus menghapus objek lama dan menambahkan yang baru:

update moves 
set data = jsonb_set(
    data::jsonb,
    array['boxes'],
    (data->'boxes')::jsonb - 'book' || jsonb_build_object('book_new', data->'boxes'->'book')
    )
where data ->> 'boxes' like '%book%'
returning *;

                         data                         
------------------------------------------------------
 {"boxes": {"moving": 2, "book_new": 2}, "goods": {}}
(1 row)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Perbaiki “ERROR:  setiap kueri KECUALI harus memiliki jumlah kolom yang sama” di PostgreSQL

  2. Bisakah kita selalu mengambil kolom tanggal sebagai string (varchar) dengan knex dan postgres?

  3. PDO dapatkan pecahan detik dari Postgres

  4. Pembuatan urutan berurutan

  5. Melewati ResultSet ke dalam Fungsi Postgresql