在 PostgreSQL 中连接 JSONB 访问器

Concatenate JSONB accessors in PostgreSQL

我有一个如下所示的查询:

select 1 from jsonb_array_elements(students::jsonb -> 'users') as e
   where e @> '{"id": "1"}'

但是我想改变这个:

students::jsonb -> 'users'

不进行硬编码,而是采用一组节点(例如 [[class”、“users”])并将它们连接起来以创建此

students::jsonb -> 'class' -> 'users'

我需要这个查询是动态的,因为我不会总是在相同的节点中找到我正在寻找的数据。

如果我没看错你的问题,你正在寻找 #> operator

students #> '{class,users}'