【发布时间】:2016-03-18 00:07:14
【问题描述】:
我的 postgres json 数据如下所示:
changes: {"data"=>[nil, {"margin"=>0.0, "target"=>0.77777}]}
字段名为changes,是postgres json数据类型。
如何编写活动记录查询来检查 data 具有名为 margin 的键的行?
例如,第一条记录会被包括在内,而第二条则不会:
# record 1
changes: {"data"=>[nil, {"margin"=>0.0, "target"=>0.77777}]}
# record 2
changes: {"data"=>[nil, {"foo"=>0.0, "target"=>0.77777}]}
我尝试了类似以下的方法,但它不起作用:
ModelName.where("changes -> 'data' ?| array[:keys]", keys: ['margin'])
【问题讨论】:
标签: ruby-on-rails json postgresql activerecord rails-activerecord