Bạn phải sử dụng $ arrayToObject
nếu bạn muốn xây dựng các khóa của mình một cách linh động. Nó cần một mảng k
và v
các trường như một tham số. Để làm cho nó root, bạn có thể sử dụng $ ReplaceRoot
giai đoạn, hãy thử:
db.col.aggregate([
{
$replaceRoot: {
newRoot: { $arrayToObject: [ [ { k: "$code", v: "$item" } ] ]}
}
}
])