Devi usare $arrayToObject
se vuoi costruire le tue chiavi in modo dinamico. Richiede un array di k
e v
campi come parametro. Per renderlo root puoi usare $replaceRoot
fase, prova:
db.col.aggregate([
{
$replaceRoot: {
newRoot: { $arrayToObject: [ [ { k: "$code", v: "$item" } ] ]}
}
}
])