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

Posso retornar facilmente todos os campos de um subdocumento como campos no documento de nível superior usando a estrutura de agregação?


Você pode usar $replaceRoot operador de agregação desde 3.4:
db.getCollection('sample').aggregate([
    {
        $replaceRoot: {newRoot: "$field1"}
    }
])

Fornece saída conforme o esperado:
{
    "subfield" : {},
    "subfield2" : [],
    "subfield3" : 44,
    "subfield5" : "xyz"
}