我不确定我们能在多大程度上使用JSONB类型的PostgreSQL 9.4
例如,如果我将以下内容存储在JSON字段中:
id | data
----+--------------------------------------
1 | {"a": ["1", "2"]}
2 | {"b": ["1", "5"]}
3 | {"a": ["1", "3", "8"], "c": ["1", "2"]}
4 | {"a": ["7", "8"]}
如何选择JSONB字段中有一个键的行" a"具有价值" 1"在其名单中?
对于此示例,结果将是:
id | data
----+--------------------------------------
1 | {"a": ["1", "2"]}
3 | {"a": ["1", "3", "8"], "c": ["1", "2"]}
(2 rows)
如果是,如何与django一起使用?
由于
答案 0 :(得分:0)
最好的办法是使用Django 1.7或更高版本编写自定义查找和转换。您需要编写几个生成所需SQL的类。
另一个选择是等待此功能登陆Django。有一个kickstarter项目,请参阅https://www.kickstarter.com/projects/mjtamlyn/improved-postgresql-support-in-django
答案 1 :(得分:0)
解决问题的查询是:
select *
from mytable
where data -> 'a' ? '1'
答案 2 :(得分:0)