6

I have a database table column(collection) with data type text

I have inserted json data in collection

This is my json data

{"name":"test","age":"25","country":"xxx"}

But now how do i query this json data. Is there any option as follows

User.where(collection: :name) # Here name denotes test
4

2 回答 2

2

由于 JSON 是一个字符串,您只能使用 SQLite/MySQL(或任何其他数据库)进行字符串比较。另外,尝试将数据类型保持为binary

您可以执行:LIKE操作以在存储的 JSON 字符串中出现子字符串。

您正在进行的上述比较将不起作用,因为它仅用于在集合列中搜索名称,而您已在该列中存储了整个 JSON 字符串。

于 2013-12-03T13:15:20.223 回答
0

您可能要考虑使用 json 数据类型

https://github.com/diogob/activerecord-postgres-hstore

如果您使用的是 rails 4,则不需要此 gem,但文档仍然适用。

于 2014-02-20T17:25:59.960 回答