Vous devez utiliser $arrayToObject
si vous souhaitez créer vos clés de manière dynamique. Il faut un tableau de k
et v
champs en tant que paramètre. Pour le rendre root, vous pouvez utiliser $replaceRoot
étape, essayez :
db.col.aggregate([
{
$replaceRoot: {
newRoot: { $arrayToObject: [ [ { k: "$code", v: "$item" } ] ]}
}
}
])