【发布时间】:2013-09-20 22:54:15
【问题描述】:
您将如何搜索存储在json 列中的数组中的元素? (更新:另请参阅jsonb 列的 9.4 更新答案。)
如果我有一个这样的 JSON 文档,存储在名为 blob 的 json 列中:
{"name": "Wolf",
"ids": [185603363281305602,185603363289694211]}
我想做的是这样的:
SELECT * from "mytable" WHERE 185603363289694211 = ANY("blob"->'ids');
并取出所有匹配的行。但这不起作用,因为 "blob"->'ids' 返回 JSON 值,而不是 Postgres 数组。
如果可能的话,我还想在各个 ID 上建立一个索引。
【问题讨论】:
标签: arrays json mongodb postgresql postgresql-9.3