检查JSONB列中的数组是否包含另一个数组中的任何值

靛青

问题

查找样本数据中的所有记录,其中foo->bar至少包括给定数组中的一项,例如[1,2]

样本数据

Record 1 => 'foo': {
  'bar': [1,2]
}

Record 2 => 'foo': {
  'bar': [3,4]
}

Record 3 => 'foo': {
  'bar': [5,7]
}

Record 4 => 'foo': {
  'bar': [1]
}

Record 5 => 'foo': {
  'bar': [2,3]
}

预期结果

Record 1 => 'foo': {
  'bar': [1,2]
}


Record 4 => 'foo': {
  'bar': [1]
}

Record 5 => 'foo': {
  'bar': [2,3]
}

我尝试使用运算符@>?|,首先检查JSOB并仅在包括所有项的情况下返回。其次有类型JSOB => Integer []的问题

的SQL

SELECT  "some_table".* FROM "some_table" WHERE (foo->'bar' @> '[1,2]'::jsonb);

滑轨范围

scope :for_bar, -> (bars) { where("foo->'bar' @> ?::jsonb", bars.to_json) }

任何解决此问题的建议。

Sebastian Palma的图片

我认为您需要的是:

  • 从foo中提取bar,
  • 将任何元素从映射bars到JSON,
  • 投绑定值array
  • 将绑定值数组转换为jsonb[]
  • 检查any左侧的JSON值是否在顶层(@>包含正确的JSON路径/值条目
SomeTable.where("foo->'bar' @> ANY(ARRAY[?]::JSONB[])", [1, 2].map(&:to_json))

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

检查数组是否包含在PostgreSQL中的另一个数组中

来自分类Dev

使用linq检查一个数组中的值是否在另一个数组中

来自分类Dev

如何检查一个数组中的任何变量是否在另一个数组中

来自分类Dev

如何检查一个数组是否包含PHP中的另一个数组?

来自分类Dev

检查数组值是否存在于另一个数组中

来自分类Dev

检查数组-值是否包含在另一个数组中?

来自分类Dev

python:检查一个numpy数组是否包含另一个数组的任何元素

来自分类Dev

检查数组是否包含Swift中另一个数组的所有元素

来自分类Dev

检查DataFrame名称是否包含另一个数组中的名称

来自分类Dev

检查对象内部的另一个数组中是否包含一个数组

来自分类Dev

检查列中的值是否为另一个数组的超集

来自分类Dev

如何检查另一个数组中是否存在键值对(数组中)?

来自分类Dev

检查数组的所有元素是否包含在另一个数组中

来自分类Dev

检查一个数组是否以相反的顺序包含在另一个数组中,至少两次

来自分类Dev

检查一个数组是否包含另一个数组

来自分类Dev

对于给定的bin,如何确定一个数组中的任何值是否低于另一个数组中的任何值?

来自分类Dev

检查数组的元素是否包含在另一个数组的元素中

来自分类Dev

PHP-检查数组值是否在另一个数组中

来自分类Dev

使用Laravel验证检查数组中的值是否在另一个数组中

来自分类Dev

检查一个数组中的任何项目是否包含在另一个数组中的任何项目中

来自分类Dev

检查数组中的任何项目是否与Visual Basic中另一个数组中的任何项目匹配

来自分类Dev

javascript检查另一个数组中是否包含1个数组的元素

来自分类Dev

检查一个数组是否包含在另一个数组中

来自分类Dev

检查一个数组是否包含在另一个数组中

来自分类Dev

检查一个数组中的所有值是否在另一个数组中

来自分类Dev

检查对象值数组是否存在于另一个数组中,但长度不同

来自分类Dev

检查一个数组是否包含另一个数组的值

来自分类Dev

检查基于另一个数组的数组中是否存在值

来自分类Dev

检查一个数组项是否包含在另一个数组项中

Related 相关文章

  1. 1

    检查数组是否包含在PostgreSQL中的另一个数组中

  2. 2

    使用linq检查一个数组中的值是否在另一个数组中

  3. 3

    如何检查一个数组中的任何变量是否在另一个数组中

  4. 4

    如何检查一个数组是否包含PHP中的另一个数组?

  5. 5

    检查数组值是否存在于另一个数组中

  6. 6

    检查数组-值是否包含在另一个数组中?

  7. 7

    python:检查一个numpy数组是否包含另一个数组的任何元素

  8. 8

    检查数组是否包含Swift中另一个数组的所有元素

  9. 9

    检查DataFrame名称是否包含另一个数组中的名称

  10. 10

    检查对象内部的另一个数组中是否包含一个数组

  11. 11

    检查列中的值是否为另一个数组的超集

  12. 12

    如何检查另一个数组中是否存在键值对(数组中)?

  13. 13

    检查数组的所有元素是否包含在另一个数组中

  14. 14

    检查一个数组是否以相反的顺序包含在另一个数组中,至少两次

  15. 15

    检查一个数组是否包含另一个数组

  16. 16

    对于给定的bin,如何确定一个数组中的任何值是否低于另一个数组中的任何值?

  17. 17

    检查数组的元素是否包含在另一个数组的元素中

  18. 18

    PHP-检查数组值是否在另一个数组中

  19. 19

    使用Laravel验证检查数组中的值是否在另一个数组中

  20. 20

    检查一个数组中的任何项目是否包含在另一个数组中的任何项目中

  21. 21

    检查数组中的任何项目是否与Visual Basic中另一个数组中的任何项目匹配

  22. 22

    javascript检查另一个数组中是否包含1个数组的元素

  23. 23

    检查一个数组是否包含在另一个数组中

  24. 24

    检查一个数组是否包含在另一个数组中

  25. 25

    检查一个数组中的所有值是否在另一个数组中

  26. 26

    检查对象值数组是否存在于另一个数组中,但长度不同

  27. 27

    检查一个数组是否包含另一个数组的值

  28. 28

    检查基于另一个数组的数组中是否存在值

  29. 29

    检查一个数组项是否包含在另一个数组项中

热门标签

归档