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

132
Vistas
Grupo MongoDB por consulta de agregación

Los datos que tengo son:

 [ { type: 'software' }, { type: 'hardware' }, { type: 'software' }, { type: 'network' }, { type: 'test' }, ... ]

Quiero crear un grupo MongoDB por tubería de agregación para devolver los datos de esta manera: solo quiero 3 objetos en el resultado, el tercer objeto en el resultado {_id: 'otro', recuento: 2}, esta debería ser la suma de recuentos de tipo otro que software y hardware

 [ {_id: 'software', count: 2}, {_id: 'hardware', count: 1}, {_id: 'other', count: 2}, ]
over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Esta es la consulta exacta (MongoPlayground) que necesita si esos datos son documentos separados. Simplemente agregue $project antes del grupo y luego $switch operador. (Si esos datos de campo son números, es posible que desee verificar $bucket

 db.collection.aggregate([ { "$project": { type: { "$switch": { "branches": [ { "case": { "$eq": [ "$type", "software" ] }, "then": "software" }, { "case": { "$eq": [ "$type", "hardware" ] }, "then": "hardware" } ], default: "other" } } } }, { "$group": { "_id": "$type", "count": { "$sum": 1 } } } ])

Además, me gustaría recomendar evitar el type de nombre de campo. En realidad, no se reserva en MongoDB, pero sin embargo, podría generar conflictos con algunos controladores ya que, en los archivos de esquema/modelo, los campos de tipo se refieren al tipo BSON exacto del campo.

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