如何从PostgreSQL中的jsonb获取特定对象?

我有一个名为“ Test”的表,其中包含两个字段“ qnId”和“

Answers”。’qnId’存储一个uuid,’Answers’是一个jsonb数组,大致如下所示:

[{ "user" : "1", "ans" : "some text" }, { "user" : "3", "ans": "some text"}]

我该如何使用value来检索of"ans""user"3。如何使用普通的SQL查询检索值

回答:

演示:db

<>小提琴

您可以jsonb_array_elements()用来将数组元素扩展为每一行。之后,您可以使用->>运算符(文档)过滤正确的元素:

SELECT

uuid,

elements ->> 'ans'

FROM

mytable,

jsonb_array_elements(answers) elements

WHERE

elements ->> 'user' = '3'

以上是 如何从PostgreSQL中的jsonb获取特定对象? 的全部内容, 来源链接: utcz.com/qa/402029.html

回到顶部