Usando mongodb, me gustaría transformar una matriz en un documento que se vea así:
{activities: [{"start": start_date, "end": end_date, value:"4332A"}]}En un objeto, como este (solo proyectando el campo de valor como el valor de "actividades"):
{activities: "4332A"}Intenté usar $arrayToObject en la etapa de $proyecto, pero los resultados no son realmente lo que estoy buscando:
db.companies.aggregate([{ $project: { $map: { 'input': '$activities', 'as': 'item', 'in': { 'k': 'activities', 'v': '$$item.value' } } } ])Siendo la salida:
{"activities": {"activities": "4332A"}}Suponiendo que siempre hay exactamente un resultado en la matriz (como dijiste), puedes usar arrayElemAt , así:
db.collection.aggregate([ { $addFields: { activities: { "$arrayElemAt": [ "$activities.value", 0 ] } } } ])