MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Comment aplatir un sous-document au niveau racine dans MongoDB ?

Vous pouvez utiliser la projection MongoDB, c'est-à-dire $project opérateurs de pipeline de cadre d'agrégation également. (manière recommandée). Si vous ne voulez pas utiliser project consultez ce lien

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

Voici un exemple pour votre cas :

db.collectionName.aggregate
([
    { $project: { a: 1, 'b': '$subdoc.b', 'c': '$subdoc.c'} }
]);

Vous donne la sortie comme vous l'attendiez, c'est-à-dire

    {
        "a" : 1,
        "b" : 2,
        "c" : 3
    }