ruby续集gem-如何使用pg_array扩展名查询数组

dag*_*da1 6 ruby postgresql sequel

我正在使用pg_array扩展和后续版本4.1.1。

我添加了这样的扩展名:

Sequel::Database.extension :pg_array
Run Code Online (Sandbox Code Playgroud)

我创建了这样的一列:

alter_table :emails do
  add_column :references, "text[]", null: true
end
Run Code Online (Sandbox Code Playgroud)

我可以将数组加载和检索到postgress数组列中,就像使用普通数组一样。

从上面的链接尚不清楚的是如何根据此数组列中的值执行查询。

例如,如果电子邮件表中的一行在引用列中包含以下值:

                             references                             
--------------------------------------------------------------------
 {}
 {5363f773bccf9_32123fe75c45e6f090953@Pauls-MacBook-Pro.local.mail}
Run Code Online (Sandbox Code Playgroud)

如何查询电子邮件表以查找包含上述值的引用数组值的行:

Email.where(references: ????)
Run Code Online (Sandbox Code Playgroud)

Jer*_*ans 5

使用pg_array_ops扩展名:

Sequel.extension :pg_array_ops
Email.where(Sequel.pg_array_op(:references).contains('5363f773bccf9_32123fe75c45e6f090953@Pauls-MacBook-Pro.local.mail'))
Run Code Online (Sandbox Code Playgroud)