我有data type text
在文本字段中轨如何查询JSON数据的PostgreSQL
我已插入JSON数据的数据库表列(collection
)在collection
这是我的JSON数据
{"name":"test","age":"25","country":"xxx"}
但是现在我该如何查询这个json数据。是否有任何选项,如下所示
User.where(collection: :name) # Here name denotes test
我有data type text
在文本字段中轨如何查询JSON数据的PostgreSQL
我已插入JSON数据的数据库表列(collection
)在collection
这是我的JSON数据
{"name":"test","age":"25","country":"xxx"}
但是现在我该如何查询这个json数据。是否有任何选项,如下所示
User.where(collection: :name) # Here name denotes test
由于JSON字符串,您只能使用SQLite/MySQL的(或任何其他数据库)的字符串比较。此外,请尝试将数据类型保留为二进制。
您可以执行:LIKE在存储的JSON字符串中发生子字符串的操作。
您正在做的上述比较不起作用,因为它仅用于在集合列中搜索名称,而您已将整个JSON字符串存储在该列中。
你可能要考虑使用JSON数据类型
https://github.com/diogob/activerecord-postgres-hstore
如果你使用的轨道4,5你不需要这种宝石,但该文档仍然适用。
你知道了吗? – tristanm