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

238
Vistas
¿Cómo puedo asegurarme de que mi código nodejs se ejecute secuencialmente mientras llamo a Mongoose?

Tengo 2 colecciones de bases de datos y quiero usar el resultado de la primera consulta, como entrada para la segunda consulta, mientras me aseguro de que todo el código se ejecute secuencialmente. Así es como se ve mi código:

 app.post("/Search", async (req, res) => { criteria = req.body.criteria c = req.body.c total = req.body.total try { const fquery = await db.find(criteria); console.log(fquery);//print 1 let r = fquery.filter(async function (element) { let f = element.field; console.log(f);//print 2 const squery = await db2.find({field:f}); console.log(squery);//print 6 let cond = squery.length == 0;//result set empty if (c == value) { cond2 = //some condition } else if (c == value2) { cond2 = //another condition } else { cond2 =//3rd condition } console.log(cond);//print 7 console.log(cond2);//print 8 return (cond || cond2); }) console.log(fquery);//print 3 console.log("xxxx111");//print 4 console.log(r);//print 5 res.json(r); } catch (err) { res.json({ message: err }); } });

Actualmente, el código funciona secuencialmente hasta que alcanza (const squery = await db2.find({field:f});) en lugar de esperar a que termine, pasa a los registros después de la función de filtro, en una secuencia como yo han comentado al lado de cada console.log. Primero quiero que termine la función de filtro, luego imprima y envíe el resultado al usuario. ¿Cómo puedo hacer eso?

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Puede pasar dos parámetros en el registro de la consola

Asigne números para verificar la secuencia Ej. Console.log(1,"mensaje u objeto");

Y Usar filtro con una colección de promesas es usar Promise.all y luego aplicar la función a su colección de resultados.

Enlace de referencia¿Cómo usar Array.prototype.filter con async?

Otro caso

Si el problema está relacionado con async/await en mongodb. Menciono la pregunta relacionada con la referencia async/await a continuación.

Consultas asincrónicas/en espera del controlador mongodb de Node.js

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