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

Come appiattire un documento secondario a livello radice in MongoDB?

Puoi usare la proiezione MongoDB, ad esempio $project anche gli operatori della pipeline del framework di aggregazione. (modo consigliato). Se non vuoi usare project controlla questo link

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

Di seguito è riportato l'esempio per il tuo caso:

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

Ti dà l'output come ti aspettavi, ad es.

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