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

Puis-je facilement renvoyer tous les champs d'un sous-document en tant que champs dans le document de niveau supérieur à l'aide du cadre d'agrégation ?

Vous pouvez utiliser $replaceRoot opérateur d'agrégation depuis 3.4 :

db.getCollection('sample').aggregate([
    {
        $replaceRoot: {newRoot: "$field1"}
    }
])

Fournit le résultat attendu :

{
    "subfield" : {},
    "subfield2" : [],
    "subfield3" : 44,
    "subfield5" : "xyz"
}