我在一个PostgreSQL数据库中保存了一个jsonb
,它的 struct 是:
{
"foo": {
"key0": {
"bar": "myValueA",
},
"key1": {
"bar": "myValueB",
}
// ...
"keyN": {
"bar": "myValueN",
}
}
}
我想要获取所有路径'foo' > ANY_KEY > 'bar'
中具有文本"myValueX"
的所有记录
它可以是'foo' > 'key0' > 'bar'
或'foo' > 'key1' > 'bar'
或任何keyN
.
在"pseudo"PostgreSQL中:
SELECT * FROM "myTable" WHERE "myColumn" #>> '{foo,*,bar}' = 'myValue';
其中*
意味着"can be any key".
有没有办法实现这样的查询?