PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Как да изпратите JSON обект към вложен масив в JSONB колона

Трикът за jsonb_set() е, че модифицира част от jsonb обект, но връща целия обект. Така че му подавате текущата стойност на колоната и пътя, който искате да промените („страници“ тук, като низов масив), след което взимате съществуващия масив (my_column->'pages' ) и добавете || новия обект към него. Всички други части на jsonb обектът остава такъв, какъвто е бил. Вие ефективно присвоявате напълно нов обект на колоната, но това е без значение, защото UPDATE така или иначе записва нов ред във физическата таблица.

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

Незадължителният create_missing параметърът е зададен на true тук добавя обекта "страници", ако все още не съществува.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Генерирайте произволно число в диапазона 1 - 10

  2. Django - (OperationalError) ФАТАЛНО:Неуспешно удостоверяване на идентичност за потребителско име

  3. Как да премахнете дубликати в таблица?

  4. В PostgreSQL, странен проблем относно производителността на citext?

  5. Как да създавате и изтривате бази данни и таблици в PostgreSQL