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

252
Visualizações
Usando Mongo DB, ¿cómo obtengo la suma de todos los campos relacionados en una colección diferente?

Tengo dos colecciones. Una colección almacena datos de usuario y otra colección almacena datos de transacciones. Los datos de la transacción hacen referencia a los datos del usuario mediante un campo externo en la identificación del usuario.

¿Cómo haría para obtener todos los datos de usuario con un campo adicional que es la suma de todas las transacciones vinculadas en el campo de cantidad?

El modelo de usuario consta de id y varios otros campos, por ejemplo

 { id: unique_mongo_id name: Tom ... }

La tabla de transacciones consta de dos campos principales que son una referencia a la identificación del usuario y el valor de la transacción, por ejemplo

 { userId: unique_mongo_user_id amount: 100 ... }

El resultado que estoy tratando de lograr es una simple obtención de todos los campos de usuario con un campo adicional que es la suma de todos los datos transaccionales.

¡Muchas gracias por su ayuda en esto!

over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

Puede utilizar esta consulta de agregación:

  • Primero una $lookup para unir colecciones y obtener valores en un campo llamado transactions .
  • Luego use $project para obtener la $sum (es decir, el total ) de la amount del campo en el resultado unido.
 db.user.aggregate([ { "$lookup": { "from": "transactions", "localField": "_id", "foreignField": "userId", "as": "transactions" } }, { "$project": { "name": 1, "total": { "$sum": "$transactions.amount" } } } ])

Ejemplo aquí

over 4 years ago · Santiago Trujillo Relatório

0

collection.CountDocuments()

colección es el nombre de su colección. Por ejemplo, si el nombre de su colección es ejemplo - ejemplo.CountDocuments()

over 4 years ago · Santiago Trujillo 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