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

142
Vistas
Cómo asignar y reducir una matriz de cadenas a un solo objeto con múltiples valores

Tengo un documento que se ve así:

 { _id: ObjectId("6222ca4252925ad4c3faec08"), value: ["test1","test2"] }

Me gustaría conseguir:

 { _id: ObjectId("6222ca4252925ad4c3faec08"), “value”: { “value1”: "test1", “value2”: "test2" } }

He intentado usar reduce pero obtengo cada valor en un objeto pero estoy muy cerca. Por favor, hágame saber lo que estoy haciendo mal:

Código:

 { "$project": { "value": { $reduce: { input: "$value", initialValue: [], in: {$concatArrays: [ "$$value", [{"name": "$$this"}] ]} } } } }

Resultados:

 { "_id" : ObjectId("6222ca4252925ad4c3faec08"), "value" : [ { "name" : "test1" }, { "name" : "test2" } ] }
over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Actualmente solo está creando una matriz usando $reduce . En su lugar, puede intentar usar $map para crear una matriz de formato [key, value] y luego usar $arrayToObject para convertir eso en un mapa como se muestra a continuación:

 [ { "$project": { "provider": { "$arrayToObject": { "$map": { "input": "$value", "as": "v", "in": [ { "$concat": [ "value", { "$toString": { "$indexOfArray": [ "$value", "$$v" ] } } ] }, "$$v" ] } } } } } ]

El $indexOfArray es solo para obtener la clave del value(N) .

Parque infantil Mongo

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