我很难查询jsonb数据。我不习惯在postgres中处理jsonb类型。是否有可能在jsonb字段上执行哪里在?PostgreSQL - 在JSONB中的位置
我有这样
id | act | act_id | from_ids | object_ids | post_date
2 post 1 {"2":"1494308197"} {"items":["104564"]} 1494308197
数据我试图做这样的事情下面找到在from_ids的列,其中ID是关键任何标识。
SELECT an.* FROM activity_network an, jsonb_each(an.from_ids) d WHERE d.key->> in ('2');
但显然这是行不通的。我尝试了各种形式。
我找到一个类似的question,但它不适合我需要的,因为它得到的值,我需要key
使用IN
。
不知道如何使用这些jsonb函数。
那么看看那个。这很简单。几个小时一直在敲我的头。感谢您的快速!如果数组中有多个项目,似乎没有使用杜松子酒索引。你会碰巧知道这是否可以索引? –
我已经扩展了包含该信息的答案。如果你没有看到使用的索引,也许PostgreSQL认为顺序扫描更便宜。您可以'SET enable_seqscan = off'来测试是否可以使用索引*。 –