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

369
Views
Encuentre el valor promedio, MongoDB

Necesito encontrar la duración promedio de cada serie de terror.

Tengo dos colecciones Serie y Libros, los libros pertenecen a la serie y tienen una longitud de campo, la serie tiene un "género" de campo.

Serie

 { "_id": "61179c8d43400f31df195223", "name": "serie1", "book genre": Horror }, { "_id": "61179c8d43400f31df195223", "name": "serie2", "book genre": Romance }, { "_id": "61179c8d43400f31df195223", "name": "serie3", "book genre": Horror }, { "_id": "61179c8d43400f31df195223", "name": "serie4", "book genre": Horror },

Libros

 { "_id": "61179c8d43400f31df195223", "name": "book1", "lenght": 100, "serie": "serie1" }, { "_id": "61179c8d43400f31df195223", "name": "book2", "lenght": 10, "serie": "serie3" }, { "_id": "61179c8d43400f31df195223", "name": "book3", "lenght": 900, "serie": "serie3" }, { "_id": "61179c8d43400f31df195223", "name": "book4", "lenght": 300, "serie": "serie1" },
over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

Puede hacer esto con una agregación bastante estándar, aquí estoy usando $lookup , $avg y $map para lograr los resultados finales:

 db.series.aggregate([ { $lookup: { from: "books", localField: "name", foreignField: "serie", as: "books" } }, { $project: { _id: 1, name: 1, "book genre": 1, avg: { "$ifNull": [ { $avg: { $map: { input: "$books", in: "$$this.lenght" } } }, 0 ] } } } ])

Parque infantil Mongo

over 4 years ago · Santiago Trujillo Report

0

Consulta

  • encuentra el promedio por género, por ejemplo, la duración promedio de todas las películas de terror
  • grupo por genero
  • buscar para obtener las longitudes
  • encontrar el promedio

*La respuesta de Toms encontró el promedio por serie, si no quieres eso, ¿quizás quieras esto? no estoy seguro. Ayudaría si nos enviara el resultado esperado, pensé que también quería lo que hizo Tom.

Código de prueba aquí

 series.aggregate( [{"$group":{"_id":"$book genre", "series":{"$push":"$name"}}}, {"$lookup": {"from":"books", "localField":"series", "foreignField":"serie", "as":"series"}}, {"$set": {"book genre":"$_id", "_id":"$$REMOVE", "avgTime":{"$avg":"$series.lenght"}}}])
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!