我有一个
jsonb
保存在 PostgreSQL 数据库中,其结构如下:
{
"foo": {
"key0": {
"bar": "myValueA",
},
"key1": {
"bar": "myValueB",
}
// ...
"keyN": {
"bar": "myValueN",
}
}
}
我想获取所有路径中包含文本
"myValueX"
的所有记录'foo' > ANY_KEY > 'bar'
可以是
'foo' > 'key0' > 'bar'
或 'foo' > 'key1' > 'bar'
或任何 keyN
。
在 “伪” PostgreSQL 中:
SELECT * FROM "myTable" WHERE "myColumn" #>> '{foo,*,bar}' = 'myValue';
其中
*
表示 “可以是任何键”。
有没有办法实现这样的查询?