如何从 postgres 中的 jsonb 列获取数据?

how to get data from jsonb column in postgres?

我有一个数据库,其中有一个 table。我的 table id 中有两列,以及类型 jsonb 的描述,现在我想获取所有name 在 table.how 中做到这一点

我这样试过但没用

SELECT description::jsonb->name FROM Category 

预期输出

["hello","test","world"]

您可以使用聚合:json[b]_agg() 可用于生成由原始对象的所有 'name' 属性组成的 json 数组,按 id 排序。

select jsonb_agg(description ->> 'name' order by id) res from category

请注意,由于 descriptionjsonb 数据类型,因此不需要额外的转换。