Estoy tratando de desarrollar una API en node.js, express y mysql. Necesito devolver un json con subnodos/subarreglos. Primero haga una selección de consulta en mysql, y esta consulta devolverá una matriz con mis productos. ahora necesito recorrer esta matriz (arrayProducts), obtener la identificación del producto actual y seleccionar otra consulta con esta identificación en otra tabla. Cuando la segunda consulta devuelve otra matriz (arrayColors), hago un for en esta matriz y presiono cada color en otra matriz (arrayColorsAux), pero cuando finaliza la segunda para (de la segunda matriz), arrayColorsAux está vacío. este es mi código:
const express = require('express') const routes = express.Router() var mysql = require('mysql'); var pool = mysql.createPool({ host: 'localhost', user: 'exampleUser', password: 'examplePass', database: 'exampleDb' }); routes.get('/productos/cat/:id', (req, res) => { var id = req.params.id; pool.query('SELECT * FROM productos WHERE id_producto_categoria = ? and borrado=0', [id], function (err, pro) { arryaPproductos = pro; for (let index = 0; index < arryaPproductos.length; index++) { var element = arryaPproductos[index]; var idPro = element.Id; pool.query('SELECT * FROM productos_colores WHERE id_producto = ?', idPro, function (err, col) { element.colores = col; console.log("Array: ", arryaPproductos); //here show nice array }); } //here return empty array res.json(arryaPproductos); }); })