【问题标题】:How to delete an array of keys from a Postgres jsonb object?如何从 Postgres jsonb 对象中删除键数组?
【发布时间】:2019-09-03 08:20:29
【问题描述】:

我有一个 jsonb 对象,我想从中删除键。我有一个 jsonb 数组,其中包含我想从对象中删除的键。我看到删除单个密钥的文档,如下所示:

SELECT '{"foo": true, "bar": false, "baz": true}'::jsonb - 'foo'

返回{"bar": false, "baz": true}

但我没有看到任何关于一次删除多个键的文档,比如从 Postgres 或 jsonb 数组中删除。我想按照这个伪代码做一些事情:

SELECT '{"foo": true, "bar": false, "baz": true}'::jsonb - '["foo", "bar"]'::jsonb
-- I'd like to return {"baz": true}

如何从jsonb 对象中删除一组键?

【问题讨论】:

    标签: postgresql jsonb


    【解决方案1】:

    使用- 运算符和右侧的text 数组:

    SELECT '{"foo": true, "bar": false, "baz": true}'::jsonb
           - '{foo,bar}'::text[];
    

    【讨论】:

      猜你喜欢
      • 2021-02-28
      • 1970-01-01
      • 2022-07-02
      • 2015-07-12
      • 2021-11-24
      • 2021-10-06
      • 1970-01-01
      • 2023-03-03
      • 1970-01-01
      相关资源
      最近更新 更多