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

239
Visualizações
¿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 Respostas
Responde à pergunta

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 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