MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Como usar o valor do campo como nome da chave no resultado do Mongodb


Você precisa usar $arrayToObject se você quiser construir suas chaves dinamicamente. É necessário um array de k e v campos como parâmetro. Para torná-lo root, você pode usar $replaceRoot estágio, tente:
db.col.aggregate([
    {
        $replaceRoot: {
            newRoot: { $arrayToObject: [ [ { k: "$code", v: "$item" } ] ]}
        }
    }
])