難しかったのでメモ
データの形
こんな感じのが jsonb のカラムの中に保存されている。
{
hoge: String,
items: String[]
}
やりたいことと解決策
それでやりたいのは items
の中に特定の文字列 ["a", "b", "c"]
のいずれかが含まれているものをクエリすること。
結論としては次のようなコードでいけた。
items_to_query = ["a", "b", "c"]
Model.where("jsonbColumnName -> 'items' @> ?", items_to_query.to_json)
参考
https://stackoverflow.com/questions/35737931/rails-postgres-query-with-jsonb-array
https://www.postgresql.org/docs/9.4/functions-json.html