Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

215
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar

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 Denunciar

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda