我使用rails 4为api存储JSON数据类型的哈希值,并且需要搜索符合<
&amp;的散列值的值。 >
条件。
使用像{location:{&#34; lat&#34;:-112,&#34; lng&#34;:33}}之类的哈希值,例如,我需要能够找到一系列lat和多头。
类似的东西:
Place.where("location ->> "lng" < -111 && > -113)
虽然Postgres 9.3不支持这种情况,但是有没有办法解决这个问题,而不使用类似的东西:
Place.all.select { |place| place.location["lng"] < -111 && > -113 }
答案 0 :(得分:2)
我之前是如何查询Place.where("location ->> 'lng' < ?", -111)
稍微不正确的
由于某些原因,您必须按文字进行搜索(我确定有人可以在评论中回答为什么会这样),因此稍微改变查询Place.where("location ->> 'lng' < ?", "-111")
似乎有效!