1.创建示例表

create temp table settings as
select
'{"west": [
{"id": "aa92f346-7a93-4443-949b-4eab0badd983", "version": },
{"id": "cd92e346-6b04-3456-050a-5eeb0bddd027", "version": }
]}'::jsonb as value;

2.如下保留version=1的数据, 如果把where (j->>'version')::int = 改为where (j->>'version')::int <> 1 则进行删除操作

update settings set value = jsonb_set(value, '{west}', jsonb_build_array(ARRAY(select j from
(SELECT jsonb_array_elements(value->'west') j from settings ) as b
where (j->>'version')::int = )))

参考资料:

http://stackoverflow.com/questions/38640168/find-position-of-object-in-postgres-jsonb-array

http://dba.stackexchange.com/questions/54283/how-to-turn-json-array-into-postgres-array

Postgresql Jsonb字段内含数组属性的删除元素操作的更多相关文章

  1. (转载)php数组添加、删除元素的方法

    (转载)http://www.phpgs.com/html/php/phpjichu/20120130440.html 带来一篇php 数组 添加元素.删除元素的方法的文章,有需要的php学习者参考下 ...

  2. php 数组 添加元素、删除元素

    拆分数组 PHP数组添加一个元素的方式: push(), arr[], Php代码 $arr = array(); array_push($arr, el1, el2 ... eln); 但其实有一种 ...

  3. js数组依据下标删除元素

    最近在项目中遇到了一些问题,基础性的东西记得不牢固,就总结一下放在这里备再次查找,对操作js数组的一些问题一些常用的记录! 1.创建数组 var array = new Array(); var ar ...

  4. iOS遍历数组的同时删除元素

    我们在遍历可变数组时,最好不要做删除数组中元素的操作. 因为删除操作可能会引起数组容量的变化,导致数组越界等问题. 以前在使用for循环遍历的时候遇到过这个问题. 当时的做法是使用enumerateO ...

  5. js数组添加或删除元素

    var arr = new Array(); arr[] = "aaa"; arr[] = "bbb"; arr[] = "ccc"; ar ...

  6. js 数组 添加或删除 元素 splice 创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素 filter

    里面可以用 箭头函数 splice         删除 增加 数组 中元素 操作数组 filter 创建新数组  检查指定数组中符合条件的所有元素

  7. JS中的数组,添加删除元素,判断是否存在一个值的方法总结

    一.添加元素: 1:在最后添加,返回数组长度:arr.push(...); 2:在最前面添加,返回数组长度:arr.unshift(...); 3:在指定位置添加,没有返回值:arr[i] = xxx ...

  8. python3_列表(修改,添加和删除元素操作)

    前言:列表的定义:列表是由一系列按特定顺序排列的元素组成.即列表是一个有序集合. 1.修改列表元素 由前言知列表是一个有序集合,因此在修改列表元素时我们需指定列表名和要修改的元素的索引,再指定该元素的 ...

  9. js 按元素向数组中最佳删除元素

    追加::: var a = [];// 创建数组 a.push(1); // 添加到最后 a.unshift(); // 添加到第一个位置 删除:::如果你没有使用第三方框架,有类似的扩展功能可以根据 ...

随机推荐

  1. 深入了解C#中的静态变量和静态构造函数

    深入的剖析C#中静态变量和静态构造函数: 在日常的程序开发过程经常会使用到静态变量,众所周知,静态变量时常驻内存的变量,它的生命周期是从初始化开始一直到Application结束.但是,我们经常会忽略 ...

  2. 根据内存布局定位的一个fastdfs坑

    在使用fastdfs时,编写数据上传代码时,遇到一个坑.最终根据指针对应的内存布局定位到一个其client API的一个坑,值得记录一下.具体是在 tracker_connect_server() 这 ...

  3. APP邂逅即时通讯云,让你的手机APP聊起来

     #推荐活动# #线下沙龙# 明天下午在IC咖啡 —— <APP邂逅即时通讯云,让你的手机APP聊起来>, http://url.cn/Y8sYo5 

  4. JUnit报错需导入两个jar包

    <dependency> <groupId>org.hamcrest</groupId> <artifactId>hamcrest-core</a ...

  5. linux之基础命令大全

    作为测试人员对linux系统命令必须非常熟悉,尤其对于高级测试工程师,从事性能方面测试,就更需要对linux命令了如指掌,这里只对部分常用命令做解释,想深入学习请关注后续文章 ctrl z  终止当前 ...

  6. 网页中插入视频(object)

    <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://down ...

  7. RY哥查字典

    时间限制: 1 s 空间限制: 16000 KB 题目等级 : 钻石 Diamond 题目描述 Description RY哥最近新买了一本字典,他十分高兴,因为这上面的单词都十分的和谐,他天天查字典 ...

  8. UVA-11517 Exact Change(DP)

    题目大意:有n张钞票,面值可能不同.你要买一件东西,可能需要找零钱.问最少付多少钱,并求出最少的钞票张数. 题目分析:定义状态dp(i,w)表示前i张钞票凑成w元需要的最少钞票张数.则状态转移方程为d ...

  9. DP(Dynamic programming)——尽力学习之中(2016 HUAS ACM 暑假集训-5)

    这周不打算按照以往的方式更新博客,而是采用整体的方式.一是因为学的太少,没东西写:二是这篇博客会经常更新的.如题,DP——尽力学习之中. ------------------------------- ...

  10. makefile编写要点

    1.wildcard : 扩展通配符 2.notdir : 去除路径 3.patsubst :替换通配符 格式:$(patsubst <pattern>,<replacement&g ...