MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Come utilizzare il valore del campo come nome chiave nel risultato di Mongodb

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" } ] ]}
        }
    }
])