Saltar al contenido principal
eLearner.app
Módulo 15 · Lección 2 de 257/57 en el curso~15 min
Lecciones del módulo (2/2)

Funciones de agregación JSON

Funciones de agregación JSON

La integración es bidireccional. La base de datos no tiene que limitarse a analizar JSON: puede construirlo. Imagínese si su API y Node.js no tuvieran que hacer el trabajo sucio e intensivo de serializar objetos anidados en JSON, porque la base de datos los entregó ya creados directamente desde el disco.

Construyendo objetos y matrices

En lugar de la clásica agregación masiva o concatenación de cadenas (String_agg), recurrimos a estas funciones:

  • CÓDIGOPH0 o CÓDIGOPH1
  • CÓDIGOPH2 o CÓDIGOPH3
SQL
SELECT json_build_object('name', first_name, 'city', city) AS data
FROM customers;

Verá filas impresas que contienen { "name": "...", "city": "..." }, perfectamente compatibles.

Ejercicio#sql.m15.l2.e1
Intentos: 0Cargando...

Desde la tabla 'clientes', devuelva los datos como filas JSON, asignadas con `json_build_object`. Asigne dos claves: 'nombre' vinculado a 'nombre' y 'correo' vinculado a 'correo electrónico'. Utilice `AS customer_doc` para la columna.

Cargando editor...
Mostrar pista

json_build_object('nombre', nombre, 'correo', correo electrónico)

Solución disponible después de 3 intentos

Ejercicio#sql.m15.l2.e2
Intentos: 0Cargando...

Para cada pedido (`order_id`), construye en una sola unidad todos los `product_id` que incluye. Desde la tabla 'order_items', ejecute `GROUP BY order_id`. Luego seleccione `order_id` y acumule en una matriz JSON (JSON_AGG) solo los datos `product_id`. Nombra la matriz `products`.

Cargando editor...
Mostrar pista

JSON_AGG(product_id) más un grupo clásico para recopilar los datos.

Solución disponible después de 3 intentos