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

237
Views
No se pueden enviar datos al cliente con la solicitud posterior de Node.js con for loop

Tengo una solicitud de publicación que necesito para recorrer una matriz, encontrar a los usuarios en la base de datos y enviar los resultados a la vista, pero parece que solo puedo enviar al primer usuario. ¿Cómo se supone que deben implementarse los bucles for? No puedo usar re.send en un bucle y res.JSON me da el mismo resultado. Mi código a continuación devuelve al primer usuario:

 app.post('/rankcandidates', function(req, res){ var array = JSON.parse(req.body.array); for (var i = 0;i<array[0].length;i++){ User.find({"_id" : { "$in" : [ array[0][i]._id] } }).exec(function (err, result) { res.setHeader('Content-Header', 'application/json'); res.send(JSON.stringify(result)); // also tried res.JSON but doesn't work }); } });

Mi llamada Ajax:

 $.post("/rankcandidates", { array:JSON.stringify(array) }, function(data,status){ console.log(data); // comes out as a string of the first user } });

Nuevo problema: insertar objetos en la base de datos con bucle for:

 app.post('/insertPositionIndex', function(req, res){ var array = JSON.parse(req.body.array); console.log(array[0]); // data shown below var ids; var indexes; for (var i=0;i<array.length;i++){ ids = array[i][0].map(function(element) { return element.position_id }); indexes = array[i][0].map(function(element) { return element.index_position }); console.log(ids); console.log(indexes); } User.update( { "_id": req.user._id}, { "$push": { "positionsApplied":{ position_id: ids, index_position: indexes } } } ).exec(function (err, result) { res.json({ results: result }); }); });

ingrese la descripción de la imagen aquí

obteniendo el siguiente error: ingrese la descripción de la imagen aquí

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Una solicitud puede devolver solo una respuesta. En su caso, primero debe crear una matriz de identificaciones de usuario y luego consultar la colección de usuarios donde está buscando todos los usuarios cuya identificación coincida con un elemento de esa matriz. Aquí hay una solución:

 app.post('/rankcandidates', function(req, res){ var array = JSON.parse(req.body.array); var ids = array[0].map(function(element) { return element._id }) User.find({"_id" : { "$in" : ids }}) .exec(function (err, results) { res.json(results); }); });
over 4 years ago · Santiago Trujillo 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!