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

Como nivelar um subdocumento no nível raiz no MongoDB?


Você pode usar a projeção MongoDB, ou seja, $project operadores de pipeline de estrutura de agregação também. (maneira recomendada). Se você não quiser usar project verifique este link

db.collection.aggregation([{$project{ . . }}]);

Abaixo está o exemplo para o seu caso:
db.collectionName.aggregate
([
    { $project: { a: 1, 'b': '$subdoc.b', 'c': '$subdoc.c'} }
]);

Dá-lhe a saída como você esperava, ou seja,
    {
        "a" : 1,
        "b" : 2,
        "c" : 3
    }