查询包含带有单个元素的json数组的jsonb列

时间:2019-02-25 14:43:13

标签: postgresql jsonb

我希望能够使用相同的查询语法返回两行

给出一个名为“ qux”的表中名为“ tags”的jsonb列,其中第1行有示例数据。

{
  "foo": ["1","2"]
}

第2行:

{
  "foo": ["3"]
}

以及在“标签”列上创建的必备索引:

CREATE INDEX tag_idx ON tags USING GIN (tags);

当我运行以下查询时:

SELECT count(*) FROM "qux" WHERE tags @> '{"foo": ["1"]}'

我希望能重新获得一行,这是正确的。

如果我跑步:

SELECT count(*) FROM "qux" WHERE tags @> '{"foo": ["3"]}'

我没有退回任何行,这让人感到意外。如果我在第二个示例中删除了方括号,则可以返回该行,但是该语法破坏了第一个示例。

这是一个已知的错误,还是索引问题? postgres的版本是9.5

0 个答案:

没有答案