在postgresql中,是否有可能查询第二层的键值对?
例如,一行的jsonb字段如下所示:
{
"something": {
"v_id": "5544d28431f19",
"value": "xyz"
},
"something_else": {
"v_id": "5544d28431feb",
"value": "abc"
}
}
我想使用v_id的值查询此行,例如:
SELECT id, jsonb_field
FROM table_1
WHERE jsonb_field @> '{{"v_id": "5544d28431feb"}}'
;
然而,这个查询是无效的。如何实现这样的查询?
编辑:
根据@CraigRinger的评论:
关键在于我不知道顶层键,我想说“对于任何对象,是否存在一个内部对象具有以下键和以下值”。
v_id
指定为 jsonb 索引。您是否建议我这样做,为什么在这里不可能呢? - Robin