gpt4 book ai didi

json - Postgresql - 从嵌套的 jsonb 元素更新或删除值

转载 作者:行者123 更新时间:2023-11-29 11:30:46 24 4
gpt4 key购买 nike

有没有办法删除/更新嵌套的 json 键对象(不是数组)例如下面的 json:

{
"top": {
"nested": {
"leaf": 1
}
}
}

如何删除/更新叶元素?

我试过了

SELECT jsonb '{"top": {"nested": {"leaf": 1}}' - '{top,nested,leaf}'

但没有运气

最佳答案

您需要使用#- 运算符,而不是-:

SELECT jsonb '{"top": {"nested": {"leaf" : 1}}}' #- '{top,nested,leaf}';
┌─────────────────────────┐
│ ?column? │
├─────────────────────────┤
│ {"top": {"nested": {}}} │
└─────────────────────────┘
(1 row)

来自documentation :

  • -(给定一个 text 参数):从左操作数中删除键/值对或字符串元素。键/值对根据它们的键值进行匹配。
  • -(给定一个 int 参数):删除具有指定索引的数组元素(负整数从末尾开始计数)。如果顶级容器不是数组,则抛出错误。
  • #-:删除指定路径的字段或元素(对于JSON数组,负整数从末尾开始计数)

关于json - Postgresql - 从嵌套的 jsonb 元素更新或删除值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44932027/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com