如何在 postgres 上查询嵌套的 json 属性/轨道上的 ruby



我的记录中属性的 json 如下所示:

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

我可以使用

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

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

看看这里 postrgeSQL

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

'{"a":[1,2,3],"b":[4,5,6]}'::json#>>'{a,2}'
Model.where("attribute#>>'{foo1, key1}' = ?", "bar")

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

最新更新