在PostgreSQL中连接JSONB访问器
我有一个如下的查询:在PostgreSQL中连接JSONB访问器,postgresql,jsonb,Postgresql,Jsonb,我有一个如下的查询: select 1 from jsonb_array_elements(students::jsonb -> 'users') as e where e @> '{"id": "1"}' 然而,我想改变这一点: students::jsonb -> 'users' 不进行硬编码,而是获取一个节点数组(例如[“类”、“用户”]),并将它们连接起来以创建此节点 students::jsonb -> 'cla
select 1 from jsonb_array_elements(students::jsonb -> 'users') as e
where e @> '{"id": "1"}'
然而,我想改变这一点:
students::jsonb -> 'users'
不进行硬编码,而是获取一个节点数组(例如[“类”、“用户”]),并将它们连接起来以创建此节点
students::jsonb -> 'class' -> 'users'
我需要这个查询是动态的,因为我不会总是在同一个节点中有我要查找的数据。如果我正确理解了您的问题,那么您是在查找
#>
为什么是
::jsonb
强制转换?如果您存储的是json值,那么您的列应该定义为jsonb
。在将该列设置为jsonb类型之前,这只是一个必须解决的问题
students #> '{class,users}'