2016-06-21 60 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

相關問題