如何在rails上的postgres / ruby​​上查询嵌套的json属性

时间:2018-01-30 14:25:39

标签: ruby-on-rails json postgresql

我对记录中属性的json看起来如此:

 { foo: bar,   
   foo1: [{key1: value, key2: value},
         {key1: value, key2: value}]
  }

我可以使用

查询foo
Model.where("attribute->>'foo' = ?", "bar")

查询key1和key2中的值时遇到一些问题

1 个答案:

答案 0 :(得分:2)

看看postrgeSQL

您可以使用此运算符#>>来执行您所需的操作,因为链接显示“将指定路径中的JSON对象作为文本”,例如:

'{"a":[1,2,3],"b":[4,5,6]}'::json#>>'{a,2}'

Model.where("attribute#>>'{foo1, key1}' = ?", "bar")

您现在应该适应您的需求。希望它有所帮助!