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に設定 「pages」オブジェクトがまだ存在しない場合は、ここに追加します。




    1. MySQLデータをタイトルケースに変換する簡単な方法はありますか?

    2. クラウドベンダーの詳細:Google Cloud Platform(GCP)上のPostgreSQL

    3. postgres CLOSESTオペレーターはありますか?

    4. mysqldumpを使用して1行に1つの挿入をフォーマットしますか?