2016-06-21 76 views
1

我的问题特定于rails + postgres hstore数据类型。Rails postgres hstore:使用任何给定值查询特定键

WHERE IN [1,2, 3]或相当于Model.where(data: [1,2,3])的导轨工作正常,但不适用于hstore。

我有一个hstore列(说info),我想查询具有特定键和任何给定值的行。

例如:要找到具有关键在hstore列“作家”和值“ABC”的所有书籍,下面的查询工作正常:

Book.where("info @> hstore(:key, :value)", key: "author", value: "ABC")

但我需要一个查询返回具有“作者”键和['ABC','XYZ','PQRS','DFG']中的任何一个值的记录。

有什么建议吗?

回答

0

也许尝试:

Book.where("(info -> :key) IN (:values)", key: 'author', values: ['ABC', 'XYZ']) 

然而,@>有指标的支持,而这将不使用任何索引。

+0

谢谢。这确实奏效,但没有像你所说的任何索引支持。 – ranjan

相关问题