PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Zaktualizuj zagnieżdżony klucz za pomocą pola json postgres w Rails

Nie ma funkcji zastępującej klucz json, więc powinieneś usunąć stary obiekt i dodać nowy:

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. PostgreSQL do Data-Warehouse:Najlepsze podejście do ETL / ekstrakcji danych w czasie zbliżonym do rzeczywistego

  2. Jak przekonwertować datę i godzinę na wartość epoki uniksowej w Postgresie?

  3. Jak przekazać rekord jako parametr funkcji PL/pgSQL?

  4. przerwanie sekwencji row_number() na podstawie zmiennej flag

  5. psycopg2 jak radzić sobie z TypeError:nie wszystkie argumenty są konwertowane podczas formatowania łańcucha