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

222
Views
No se puede obtener el resultado de un módulo nodejs

Escribí un pequeño módulo de Javascript para obtener filas de una base de datos MongoDB:

 async function getAll() { await mongoose.connect(config.mongoURL).catch(err => { console.log(err); }); const conn = mongoose.connection; conn.collection('healthdata') .find({}).toArray().then(result => { console.log('=>Docs:', result); return result; }).catch (err => { console.log(err); }).finally(() => { conn.close(); }); } exports.getAll = getAll

Obtengo la visualización correcta de la consola ("=>Docs:"). Pero, cuando quiero obtener el resultado de la siguiente función de llamada, obtengo el valor Indefinido ("Resultado:"):

 app.get("/", async (req, res) => { var docs = await db.getAll().then(); console.log("Result:", docs); res.render("index.html"); });

¿Lo que falta? ¿Equivocado?

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

0

Creo que la línea console.log(Result:...) se está ejecutando antes de que se complete getAll.

Lo envolvería dentro de la cláusula "entonces":

 app.get("/", async (req, res) => { const docsReturned = await db.getAll() .then(docs => { console.log("Result:", docs); res.render("index.html"); }) .catch(err => { console.error(err); })); return(docsReturned);

También sugiero agregar una captura para cualquier error... buenas prácticas. :)

about 4 years ago · Juan Pablo Isaza Report

0

no debe mezclar promesas con async/await, por lo que la respuesta proporcionada por G-Force pero eliminar await antes db.getAll() o usar var docs = await db.getAll(); Esto debería solucionar tu problema.

about 4 years ago · Juan Pablo Isaza Report

0

Hermano, si está usando mangosta, siga estos para obtener datos del esquema de mangosta

 schema.find().exec().then(result=>{ console.log(result) }).catch(error=>{ console.log(error) })

aquí todos los datos del esquema dan como resultado que consolamos si aparece algún error, se muestra en console.log (error)

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!