相关疑难解决方法(0)

在PostgreSQL 9.5+中追加(推送)和从JSON数组中删除

对于小于9.5的版本,请参阅此问题

我使用这个在PostgreSQL中创建了一个表:

CREATE TEMP TABLE jsontesting
AS
  SELECT id, jsondata::jsonb FROM ( VALUES
    (1, '["abra","value","mango", "apple", "sample"]'),
    (2, '["japan","china","india", "russia", "australia"]'),
    (3, '["must", "match"]'),
    (4, '["abra","value","true", "apple", "sample"]'),
    (5, '["abra","false","mango", "apple", "sample"]'),
    (6, '["string","value","mango", "apple", "sample"]'),
    (7, '["must", "watch"]')
  ) AS t(id,jsondata);
Run Code Online (Sandbox Code Playgroud)

现在我想要的是

  • 添加append_to_json_array这样的东西,实际的jsondata是一个json数组,而newString是我必须添加到jsondata数组的,这个函数应该返回更新的json数组.

    UPDATE jsontesting
    SET jsondata=append_to_json_array(jsondata, 'newString')
    WHERE id = 7;
    
    Run Code Online (Sandbox Code Playgroud)
  • 从json数据数组中删除一个值,一个用于删除值的函数.

我试图搜索PostgreSQL的文档,但没有发现任何内容.

arrays postgresql array-push jsonb postgresql-9.5

24
推荐指数
3
解决办法
2万
查看次数

如何将 JSON 对象推送到 postgresql jsonb 列中的数组

我是在 postgresql 中使用 jsonb 的新手。

I have a following structure 

      [
          {
              "Id":1,
              "Name":"Emilia"
          },
          {
              "Id":2,
              "Name":"sophia"
          },
          {
              "Id":3,
              "Name":"Anna"
          },
          {
              "Id":4,
              "Name":"Marjoe"
          }
      ]
Run Code Online (Sandbox Code Playgroud)
  1. 此结构存储在 jsonb 列(项目)中。我需要追加{"Id":5,"Name":"Linquin"}到此数组中。并将其设置回 jsonb 列项目。

我需要这样的东西。

     [
          {
              "Id":1,
              "Name":"Emilia"
          },
          {
              "Id":2,
              "Name":"sophia"
          },
          {
              "Id":3,
              "Name":"Anna"
          },
          {
              "Id":4,
              "Name":"Marjoe"
          },
          {
              "Id":5,
              "Name":"Linquin"
          }
      ]
Run Code Online (Sandbox Code Playgroud)
  1. 请让我知道根据 id 删除对象的任何方法......

感谢任何帮助。谢谢...

postgresql append jsonb

5
推荐指数
2
解决办法
1万
查看次数

标签 统计

jsonb ×2

postgresql ×2

append ×1

array-push ×1

arrays ×1

postgresql-9.5 ×1