【发布时间】:2019-03-04 09:55:18
【问题描述】:
我有一个名为 data_audit 的 PostgreSQL 表,其中有一列名为 body,其类型为 json。每行包含一个具有以下结构的值:
{
"target": {
"ids": [
"ID1",
"ID2"
]
}
}
(我已经删除了很多不相关的字段。)
我想选择 ids 数组(可能包含 0、1 或更多字符串)包含特定值的所有行。
我尝试了::jsonb[]、ANY()、@>、json_array_elements_text() 等的各种组合,但无济于事。
运行此查询最简单、最有效的方法是什么?
此表尚未投入生产,因此如果字段是另一种类型 (jsonb?) 会更容易/更高效,这可能是一种选择。
我正在运行 PostgreSQL 10.3。
谢谢!
【问题讨论】:
标签: arrays json postgresql