如何在postgres中查询嵌套json中的对象

问题描述 投票:1回答:1

假设我有一个名为users的表,jsonb列名为attrs,其值如下:

{
  "uuid5": {
    "label": "Email",
    "value": "[email protected]"
  },
  "uuid6": {
    "label": "Last Name ",
    "value": "Yang"
  }
}

这是一个单行:

"attrs": { "uuid5": { "label": "Email", "value": "[email protected]" }, "uuid6": { "label": "Last Name ", "value": "Yang" }

如你所见,有独特的键qazxsw poi,qazxsw poi等。

如何获得label ='Email'和value ='[email protected]'的用户?

uuid5中关于json函数,有一个名为uuid6的函数,它返回一组JSON对象键/值对。但我找不到基于此的方法来编写查询。

json postgresql jsonb postgresql-9.6
1个回答
2
投票

你需要postgres docs迭代attrs colum中的所有条目。它将返回键/值对,其中键是jsonb_each,条目是您要检查的实际JSON结构。您可以将其与EXISTS条件结合使用:

jsonb_each

在线示例:uuid

© www.soinside.com 2019 - 2024. All rights reserved.