如何查询内部数组的jsonb字段

穆罕默德·坎尼

我有一个具有这样的数组的jsonb字段

[{"odd_id"=>"5328", "team_id"=>"", "event_id"=>"10301952", "odd_type"=>"full_time", "odd_label"=>"X", "odd_value"=>"3.29"}, {"odd_id"=>"5349", "team_id"=>"", "event_id"=>"10299004", "odd_type"=>"full_time", "odd_label"=>"X", "odd_value"=>"3.10"}, {"odd_id"=>"5237", "team_id"=>"2554", "event_id"=>"2020445", "odd_type"=>"full_time", "odd_label"=>"1", "odd_value"=>"2.87"}, {"odd_id"=>"5174", "team_id"=>"669", "event_id"=>"1685560", "odd_type"=>"full_time", "odd_label"=>"2", "odd_value"=>"3.39"}]

我想在哪里查询列中的event_id。顺便说一下,有人可以使用Rails 5和PostgreSQL指导我如何进行存档。

阿努拉格·雅利安(Anurag Aryan)

假设您Test使用jsonb field调用模型test_field,其中一个特定值是哈希数组,如下所示:

[{"odd_id"=>"5328", "team_id"=>"", "event_id"=>"10301952", "odd_type"=>"full_time", "odd_label"=>"X", "odd_value"=>"3.29"}, {"odd_id"=>"5349", "team_id"=>"", "event_id"=>"10299004", "odd_type"=>"full_time", "odd_label"=>"X", "odd_value"=>"3.10"}, {"odd_id"=>"5237", "team_id"=>"2554", "event_id"=>"2020445", "odd_type"=>"full_time", "odd_label"=>"1", "odd_value"=>"2.87"}, {"odd_id"=>"5174", "team_id"=>"669", "event_id"=>"1685560", "odd_type"=>"full_time", "odd_label"=>"2", "odd_value"=>"3.39"}]

您必须像这样查询数据库:

Test.where('test_field @> ?', [{ 'event_id' => '10301952' }].to_json)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章