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

238
Views
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 answers
Answer question

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 Report

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