我需要在Postgres中搜索jsonb字段的数组键的值。
field: {'array_key' : [1, 2, 3, 4]}
是否可以在array_key
上添加索引,或者是否有任何优化方法来搜索值?
搜索查询将类似于
select * where field['array_key'].include?(2)
答案 0 :(得分:12)
您可以在jsonb键上创建索引,
add_index :table_name, :field, :using => :gin, :expression => "(field->'array_key')", :name => 'index_table_name_on_field_array_keys'
然后,您可以搜索索引键,
where("table_name.field->'array_keys' @> ?", Array(2))
答案 1 :(得分:0)
鉴于你有一张照片'带有元数据的表格' jsonb专栏
object_list
应输出类似
的内容function createFile(){
var object = new ActiveXObject("Scripting.FileSystemObject");
var file = object.CreateTextFile("C:\\Hello.txt", false);
file.WriteLine('Hello World');
file.WriteLine('Hope is a thing with feathers, that perches on the soul.');
file.Close();
}