Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

358
Visualizações
¿Cómo obtener datos de múltiples modelos en un solo controlador en NodeJS?

Estoy trabajando en nodejs y estoy usando el marco "Express js", estoy trabajando en Controller y estoy tratando de obtener datos de "dos funciones de modelo" pero recibo el mensaje "anónimo", ¿Cómo puedo obtener datos de múltiples? funciones modelo", Aquí está mi código,

  • Este es mi controlador de casa
 homeController.index = function (req, res, next) { // fetching data into 'data variable' from FetchRecords model homeModel.FetchRecords(function (err, data) { if (err) { req.flash('error', 'There was no records.'); } else { res.render('home/index', { data: data }); } }); homeModel.getAverage(function (average) { console.log(average); // res.render('home/index',{data:average}); }); };
  • Este es mi modelo de casa
 homeModel.FetchRecords = function (data) { sql.query('SELECT * FROM rating', function (err, res) { if (err) { return data(err, null); } else { return data(null, res); } }); }; homeModel.getAverage = function (average) { console.log(average); sql.query('SELECT avg(value) FROM rating', function (err, res) { if (err) { return average(err, null); } else { return average(null, res); } }); };
over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

Dentro de homeModel solo crea 1 función en lugar de 2 por separado. Puede combinar ambas consultas MySQL en una como esta.

 const FetchRecordsAndAverage = function (data) { sql.query('SELECT * FROM rating; SELECT avg(value) FROM rating', function (err, res) { if (err) { return data(err, null); } else { return data(null, res); } }); }; module.exports = { FetchRecordsAndAverage }

Con esto, obtendrá datos combinados de ambas consultas como matrices dentro de la matriz. Se puede acceder al resultado de las consultas como datos[0] y datos[1].

over 4 years ago · Santiago Trujillo Relatório

0

Debe exportar la función desde el modelo de inicio:

 const FetchRecords = function (data) { sql.query('SELECT * FROM rating', function (err, res) { if (err) { return data(err, null); } else { return data(null, res); } }); }; const getAverage = function (average) { console.log(average); sql.query('SELECT avg(value) FROM rating', function (err, res) { if (err) { return average(err, null); } else { return average(null, res); } }); }; module.exports = { FetchRecords, getAverage }

Y recupéralas en tu aplicación llamando a:

 const { FetchRecords, getAverage } = require('./path/to/home_model');
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda