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

251
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar

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