postgresql - 在 Postgres 12 中更新整个 JSONB 对象
问题描述
我很难用新的 JSONB 对象替换列config
中的 JSONB 对象。
根据 Postgres (12) 文档,应该使用jsonb_set
它来更新现有的 JSON 记录:我正在尝试用以下指令替换现有的 JSONB:
UPDATE table SET config=jsonb_set(config, '{config}', '{"newKey":"newValue"}') WHERE myUpdateCondition;
问题是,这对夫妇{"newKey":"newValue"}
已成功添加,config
但之前的 JSONB 仍然存在于config
列中:我的目标是完全更新config
just {"newKey":"newValue"}
,不留下之前的 JSONB。
我正在阅读jsonb_delete
但我没有在官方文档中找到它。
如何config
通过不保留以前的 JSONB 对象并将其完全替换为新的 JSONB 对象来更新 JSONB 列?
解决方案
我的目标是只用 {"newKey":"newValue"} 完全更新配置,不留下以前的 JSONB。
然后只需分配新值:
UPDATE table
SET config= '{"newKey":"newValue"}'
WHERE ...;
推荐阅读
- c++ - unique_ptr 和 shared_ptr 的重载方法与多态性不明确
- ssl - ionic 应用服务器设置的 https 设置
- angular - 如何将 dx-data-grid 及其工具包装到另一个组件中并使其成为控制器?
- java - java.text.ParseException - 格式正确
- delphi - Delphi 远程调试器无法通过 WAN 连接工作
- database - wix 安装程序工具集中的 ComboBox 上的自定义操作删除/添加
- android - 一段时间后,AsyncTask 在服务中变慢
- python - 如何从多列中返回一个分组列的平均值
- sabre - 创建乘客姓名记录 - 消息 NO FARE FOR CLASS USED
- python - Tensorflow:如何设计自定义成本函数?