Postgres jsonb select 特定数组字段

Postgres jsob select specific array fields

我有 postgreSQl 10.2 table "snapshots",jsonb 列名为 "data"

{
  "entries": [
    {
      "userName": "John",
      "age": "15"
    },
    {
      "userName": "Max",
      "age": "42"
    }]
{

只需要查询 select 数组条目中的用户名。 我试过这个

select data->'entries'->>'userName' from snapshots;

当然它没有返回我需要的值。

使用横向连接中使用的函数 jsonb_array_elements() 取消嵌套 json 数组:

select item->>'userName'
from snapshots
cross join jsonb_array_elements(data->'entries') as item