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

145
Visualizações
¿Cómo recorrer el valor de un campo uno tras otro y realizar operaciones de agregación en él?

Recientemente comencé a trabajar con MongoDB y su tubería de agregación. Necesito ayuda para recorrer el campo llamado Id y realizar una operación de agregación en él, uno tras otro, directamente dentro de la canalización.

Actualmente estoy haciendo algo como esto (en Node.js):

 let patients = await client.db('MyDB').collection('Patients_MA').find().toArray(); let patientColl = client.db('MyDB').collection('Patients_MA'); for (int i=0; i<patients.length; i++) { doc = patientColl.aggregate([ { $match: {Id: patients[i].Id} }, { $project: { _id: 0, num: { $add: [ {$multiply: [0.7, 2]}, {$multiply: [0.2, 2]}, {$multiply: [0.15, 0]} ] } } } ]); await patientColl.updateOne( { "Id": id }, { "$set": {'heuristic': num} } ); }

En aras de una fácil comprensión, he condensado la canalización en lo principal que quiero que haga, que es actualizar el valor heuristic , pero en mi canalización original, cada Id tendrá un valor heuristic diferente. Además, tengo aproximadamente 8000 Id. de pacientes y en mi tubería original, estoy trabajando con 3 colecciones diferentes.

Entonces, mi pregunta es, ¿hay alguna manera de recorrer cada Id , ejecutar la canalización anterior y actualizar el valor heuristic directamente dentro de la canalización de agregación? ¿O una forma de hacer esto de manera más eficiente sin tener que hacer llamadas O(8000)?

Editar: Aquí está el enlace a la canalización original.

about 4 years ago · Juan Pablo Isaza
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