sql >> Database >  >> RDS >> PostgreSQL

PostgreSQL en nodejs/pg, retourneer geneste JSON

In PostgreSQL kunt u het volgende JSON-object bouwen:

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

Je zou het object uit je tabellen kunnen construeren met de volgende vraag:

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
  ))

En met cars.votes velden inbegrepen:

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. ORA-01843 geen geldige maand - Datums vergelijken

  2. Enum in Hibernate, volhardend als een opsomming

  3. Correcte JPA-annotatie voor het teksttype van PostgreSQL zonder hibernate-annotaties

  4. Hoe .htaccess te gebruiken voor mooie links