postgresql - 如何通过postgres中的键数组从jsonb subJesonb中获取
问题描述
我有 jsonb 字段和数组键如何获取子 jsonb
字段 ={"f1":1, "f2":null, "f3":"fff", "f4":"4"}
克=["f1", f3]
我们需要得到:{"f1":1, "f3":"fff"}
解决方案
您可以将两者都取消嵌套,加入结果并聚合回来:
就像是:
select jsonb_object_agg(i.k, i.v)
from jsonb_each('{"f1":1, "f2":null, "f3":"fff", "f4":"4"}'::jsonb) as i(k,v)
join jsonb_array_elements_text('["f1", "f3"]') t(k) on t.k = i.k
推荐阅读
- php - 单击提交之前未定义的变量
- python - 检查丢弃的节点
- dgraph - 清单有不受支持的版本:(我们支持)
- python - 使用 Mac OS Mojave 在 OpenCV 中函数 calcHist 和 cvtColor 的运行错误
- ios - 如何更新 cocoapods 1.7.x 上的构建设置
- reactjs - 如何将以下代码转换为管理代码
- node.js - 使用强错误处理程序在环回应用程序中拦截所有 >= 500 个错误代码
- android - 如何在android中使用渐变阴影按钮制作渐变恒定发光?
- angular - mat-table 重复数据数组的最后一项,而不是显示每个唯一的行
- azure-cosmosdb - 我该如何克服 SQL 查询超出了最大连接数。允许的限制是 5 错误