Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

147
Views
Matriz de objetos que no muestra contenido después de .push()

Estoy tratando de empujar el objeto dentro de la matriz dentro de cada iteración.

 const dashboard_get = async (req, res) => { let records = await Record.find(); let visitors = await Visitor.find(); let log = {}; let logs = []; records.forEach((record) => { visitors.forEach(async (visitor) => { if(record.visitor_id === visitor._id.toString()) { let establishment = await Establishment.findById({_id:record.establishment_id}); log.id = record.visitor_id; log.name = `${visitor.name.fname} ${visitor.name.mi} ${visitor.name.lname}`; log.establishment = `${establishment.name}`; log.address = `${establishment.address}`; log.date = record.createdAt; logs.push(log); //displaying here console.log(logs); log = {}; } }) }) // Not displaying here console.log(logs); res.render('./Administrator Module/dashboard', {logs}); }

Dentro del forEach anidado, los registros se muestran correctamente. Sin embargo, no puedo acceder a los registros después de forEach. ¿Empujar el objeto dentro de la matriz dentro de forEach no retendrá los datos?

about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

El problema es que forEach() ignora la promesa devuelta por la función de iteración. verifique que Usar async/await con un bucle forEach

about 4 years ago · Juan Pablo Isaza Report

0

En su código, el problema es la declaración del objeto de registro fuera del ciclo for. Se trata de llamar por referencia y llamar por problema de valor. si mueve el objeto de registro dentro si la condición está en un bucle anidado, funcionará bien. Hazlo asi

 const dashboard_get = async (req, res) => { let records = await Record.find(); let visitors = await Visitor.find(); let logs = []; records.forEach((record) => { visitors.forEach(async (visitor) => { if (record.visitor_id === visitor._id) { let establishment = await Establishment.findById({ _id: record.establishment_id }); const log = { id: record.visitor_id, name: `${visitor.name.fname} ${visitor.name.mi} ${visitor.name.lname}`, establishment: establishment.name, address: establishment.address, date: record.createdAt }; logs.push(log); //displaying here console.log(logs); } }) }); // Not displaying here console.log(logs); res.render('./Administrator Module/dashboard', { logs }); }
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!