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

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

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 Denunciar

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