【发布时间】:2020-05-15 18:05:34
【问题描述】:
我有一个带有 json 字段的表,其中存储了对象数组。 我想查询这个表,并且对于每个返回的行,通过使用某些条件过滤它们,只返回 json 数组对象的子集。
例如对于行:
id = 1, jsonColumn = [{ field: 'abc' },{ field: 'def' },{ field: 'ghi' }]
id = 2, jsonColumn = [{ field: 'abc' },{ field: '123' },{ field: '456' }]
id = 3, jsonColumn = [{ field: 'abc' },{ field: '789' },{ field: 'XXX' }]
我想选择所有行,并且每行应仅包含 jsonColumn 中的元素 where field = 'abc'。我只想过滤此列,而不是返回包含数组中特定元素的行...
【问题讨论】:
-
谁说这是个问题?这只是一个任务,用postgresql很容易完成。
-
我的 jsonb 格式看起来像这样 {"key1":[ {"new":"(888) 888 8888","old":"(999) 999 9999","field": "sec_phone"}, {"new":"(888) 888 8888","old":"(999) 999 9999","field":"sec_phone"} ] } 我想根据我得到的新字段进行搜索下面提到的查询中的错误请帮助
标签: postgresql