sql >> Databasteknik >  >> RDS >> PostgreSQL

Uppdatera kapslad nyckel med postgres json-fält i Rails

Det finns ingen funktion för att ersätta json-nyckeln, så du bör ta bort det gamla objektet och lägga till ett nytt:

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. Hur laddar man en bild från SQL Server till bildrutan?

  2. libclntsh.so.11.1:kan inte öppna fil med delat objekt.

  3. Azure - behörighet nekad vid försök att ansluta till extern MySQL-databas

  4. Hekaton med en twist:In-memory TVPs – Del 2