Трябва да използвате $arrayToObject
ако искате да изграждате вашите ключове динамично. Необходим е масив от k
и v
полета като параметър. За да го направите root, можете да използвате $replaceRoot
етап, опитайте:
db.col.aggregate([
{
$replaceRoot: {
newRoot: { $arrayToObject: [ [ { k: "$code", v: "$item" } ] ]}
}
}
])