如何在PostgreSQL中使用父项更新JSONB对象

麦克风

我有一个数据库,该数据库的表foo包含一个列id和一个data包含以下数据的列

{
   "startDate":"2017-07-04",
   "endDate":"2017-07-10",
   "notDelegated":false,
   "sold":false,
   "disableRanking":false,
   "type":"PERIOD"
}

我想使用父级更新此数据rangeData并提取如下type属性:

{
   "rangeData": {
       "startDate":"2017-07-04",
       "endDate":"2017-07-10",
       "notDelegated":false,
       "sold":false,
       "disableRanking":false
   },
   "type":"PERIOD"
}

我尝试了很多与JSON操作员无关的事情

谢谢您的回答。

克林

使用函数jsonb_build_object()和删除运算符:

update foo
set data = jsonb_build_object('rangeData', data- 'type', 'type', data->'type');

在上面的函数调用中,您将创建一个包含两个元素的json对象:

key          value
-------------------------
'rangeData'  data- 'type'   json object 'data' from which the key 'type' was removed
'type'       data->'type'   value of 'type' element of json object 'data'

SqlFiddle

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在postgresql中使用jsonb的键作为行值?

如何在 pgAdmin 中使用替换值更新 jsonb 列?

如何在 PostgreSQL 中使用 JSONB 更新列内的属性并将数据保留在其中

如何在父类函数中使用继承的对象?

如何在PostgreSQL中使用子查询进行更新

如何在 postgresql 中使用时区更新日期?

如何在 sqlalchemy 的 ORM 中使用 postgresql 的 jsonb_each 函数

在 PostgreSQL 中使用 NULL 值更新 JSONB 列

如何更新JSONB数组Postgresql数组对象中的多个值

如何在焦点输入的同一父项中使用slideDown类

如何在Reactjs中使用索引值更新对象?

如何在Reactjs中使用setState映射更新对象

如何在python中使用字典更新json对象

如何在PostgreSQL中更新jsonb列的字段?

如何使用angularjs更新父模型对象

如何更新jsonb的PostgreSQL数组

Postgresql:在搜索 jsonb 对象数组时如何使用动态值?

如何传递父项以在通用方法内的JOptionPane中使用?

Postgresql 将 JSONB 对象更新为数组

更新JSONB格式PostgreSQL的对象数组

如何在输入中使用必填项

如何在c#中使用循环依赖项将对象序列化为xml?

如何在 C# 中的对象初始值设定项中使用 Console.ReadLine()

如何在Angular 5项目中使用CSS更改具有旋转图像的父div的样式?

如何在PostgreSQL中对jsonb列类型使用“ LIKE”查询?

如何在 PostgreSQL 中的 jsonb 列的元素上使用 LOWER()?

如何在TypeScript中使用类型安全的对象散布来更新不可变的对象

如何在pg-promise中使用JSONB操作

如何在PHP和postgresql / postgis代码中使用JavaScript Geojson对象作为图层