在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}'