小编Але*_*сей的帖子

如何在jsonb中添加新的键值对而不创建新对象?(Postgres)

我需要将新的键值对添加到现有的 json 对象中。将不胜感激任何帮助。

格式:

{
  "json_col": [
    {
      "val1": 1,
      "val2": 0,
      "val3": "qwe"
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

我想出了这个查询

UPDATE table SET  
json_col = jsonb_set(
    json_col, 
    '{json_col}', json_col->'json_col' || '{"test":123}'))
where id=6400
Run Code Online (Sandbox Code Playgroud)

它会输出:

UPDATE table SET  
json_col = jsonb_set(
    json_col, 
    '{json_col}', json_col->'json_col' || '{"test":123}'))
where id=6400
Run Code Online (Sandbox Code Playgroud)

但我需要这个 json 成为单个对象(没有额外的括号),如下所示:

{
  "json_col": [
    {
      "val1": 1,
      "val2": 0,
      "val3": "qwe"
    },
    {
      "test": 123
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

postgresql json jsonb

7
推荐指数
1
解决办法
6083
查看次数

标签 统计

json ×1

jsonb ×1

postgresql ×1