我有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