嵌套数组的 Postgres 查询未能 return 结果
Postgres query on nested array failing to return results
我有以下查询:
SELECT * FROM post p
, jsonb_array_elements(p.meta #> '{tags, tag}') d
WHERE d->>'tag' LIKE '%mytag%';
它没有返回任何结果,我在 post table 中有一个如下所示的对象:
我不确定为什么会失败,我的理解是 jsonb_array_elements 展平数组并通过选择 {tags, tag} 它将获得标签字符串
嵌套数组的路径是 meta #> '{tags}'
,而不是 meta #> '{tags, tag}'
,所以这应该有效
select *
from
post p,
jsonb_array_elements(p.meta #> '{tags}') d
where d->>'tag' like '%mytag%';
-- or simpler
select *
from
post p,
jsonb_array_elements(p.meta -> 'tags') d
where d->>'tag' like '%mytag%';
我有以下查询:
SELECT * FROM post p
, jsonb_array_elements(p.meta #> '{tags, tag}') d
WHERE d->>'tag' LIKE '%mytag%';
它没有返回任何结果,我在 post table 中有一个如下所示的对象:
我不确定为什么会失败,我的理解是 jsonb_array_elements 展平数组并通过选择 {tags, tag} 它将获得标签字符串
嵌套数组的路径是 meta #> '{tags}'
,而不是 meta #> '{tags, tag}'
,所以这应该有效
select *
from
post p,
jsonb_array_elements(p.meta #> '{tags}') d
where d->>'tag' like '%mytag%';
-- or simpler
select *
from
post p,
jsonb_array_elements(p.meta -> 'tags') d
where d->>'tag' like '%mytag%';