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

125
Vistas
Grupo anidado en canalización de agregación mongodb

Estoy usando Mongo DB y tengo una lista de objetos que necesito agrupar en categoría -> subcategoría -> diferentes tipos de subcategoría agrupados. Puede encontrar el código en este patio de recreo de mongodb > https://mongoplayground.net/p/BfR7FT28XKN

Creo la categoría de grupo -> todas las subcategorías. Pero, ¿cómo puedo agrupar la subcategoría con el mismo nombre?

Mi objetivo es lograr algo así:

 { "_id": "Food and Drink", "subCategories": [ { "details": "Wine Bar", "subCategory": "Bar", }, { "details": "Jazz and Blues Cafe", "subCategory": "Nightlife", }, { "subCategory": "Restaurants", "types": [ { "details": "Mediterranean", "subCategory": "Restaurants", }, { "details": "Mexican", "subCategory": "Restaurants", } ] }, ] }

Gracias

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Esto es lo que necesitas. Primero debe agrupar por categoría y subcategoría. He empujado el documento completo en tipos. Puede filtrar los campos o hacer cambios según sus requisitos.

 [{ "$match": { "category": { "$ne": null }, "subCategory": { "$ne": null } } }, { $group: { _id: { cat: "$category", sub: "$subCategory", }, docs: { $push: "$$ROOT" } } }, { $group: { _id: "$_id.cat", subCategories: { $push: { subCategory: "$_id.sub", types: "$docs" } } } }]

Elimine types: "$docs" de la última etapa y esto es lo que obtendría

 [{ "_id": "Community", "subCategories": [ { "subCategory": "Education" }, { "subCategory": "Disabled Persons Services" } ] }, { "_id": "Food and Drink", "subCategories": [ { "subCategory": "Bar" }, { "subCategory": "Nightlife" }, { "subCategory": "Restaurants" } ] }]

Zona de juegos https://mongoplayground.net/p/nwyAivJOZj5

about 4 years ago · Juan Pablo Isaza 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