PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

PostgreSQL и nodejs/pg, връщат вложен JSON

В PostgreSQL можете да изградите следния JSON обект:

[
    { "name": "Portfolio #1", "cars": [ "Car #1", "Car #2" ] },
    { "name": "Portfolio #2", "cars": [ "Car #3" ] }
]

Можете да конструирате обекта от вашите таблици със следната заявка:

select array_to_json(array(
  select row_to_json(n)
  from portfolio p
  left join lateral (select p.name, array(select name from cars where portfolio_id = p.id) as cars) n on true
  ))

И с cars.votes включени полета:

select array_to_json(array(
  select row_to_json(n)
  from portfolio p
  left join lateral (select p.id, p.name, array_to_json(array(
     select row_to_json((select a from (select c.name, c.votes) a))
     from cars c
     where portfolio_id = p.id)) as cars) n on true
  ))



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Timestampable не работи с ORM и PostgreSQL база данни

  2. PostgreSQL с Homebrew на Mac

  3. Използване на персонализиран JSON енкодер за изпълнението на PostgreSQL JSONB на SQLAlchemy

  4. Създайте схема, ако не съществува, като използвате spring Jpa с хибернация

  5. Postgres - как да върна редове с 0 броя за липсващи данни?