【发布时间】:2016-09-05 18:41:13
【问题描述】:
我想使用 psql 查询查找 jsonb 值中是否存在特定路径。
例如,对于这个路径:{"333":"opc":["1333"]}
这个值应该返回 true:
'{"333":{"opc":[{"1333":"3787"}]}}'
但这些值应该返回 false:
'{"333":{"opc":[{"104":"3787"}]}}''{"54":{"opc":[{"1333":"3787"},{"1334":"37"}]}}''{"333":{"opc":[]}}'
我尝试了一些使用 @> 运算符的变体,但无法完全获得正确的语法。
例如:
select
'{"333":{"opc":[{"1333":"3787"},{"1334":"37"}]}}'::jsonb @>
'{"333":{"opc":[{"1333"}]}}'::jsonb
这给了我一个无效的语法错误
【问题讨论】:
标签: json postgresql path psql jsonb