从 postgresql 中没有键的 jsonb 数组数据中删除一个值

Delete a value from jsonb array data having no key in postgresql

Table结构为:

CREATE TABLE mine_check.meta
(
  sl_no bigserial NOT NULL,
  tags jsonb NOT NULL DEFAULT '[]'::jsonb
);

Table 长得像

    sl.no    tags
    1        [120,450]
    2        [120]
    3        [450,980,120]
    4        [650]

我需要从标签列中删除 120 - 没有密钥

我尝试阅读了很多地方 - 他们有更新或删除的密钥。

我应该如何进步?

恐怕必须以困难的方式完成 - 取消嵌套 JSONB 数组,select 并从中过滤并聚合回 JSONB 数组。

select sl_no, 
(
  select jsonb_agg(e::integer) 
  from jsonb_array_elements_text(tags) e 
  where e <> 120::text
) tags
from mine_check.meta;