sql >> Database teknologi >  >> RDS >> PostgreSQL

Opdater indlejret nøgle med postgres json-feltet i Rails

Der er ingen funktion til at erstatte json-nøglen, så du bør slette det gamle objekt og tilføje et nyt:

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. Hvilken maven-fase vil altid blive udført efter testfasen?

  2. Mysql Like + Wild Card vs Equals Operator

  3. Hvilke effekter har det at bruge en binær kollation?

  4. Partitionstabel, hver partition på forskellig disk på min HDD