MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Kann ich mithilfe des Aggregationsframeworks problemlos alle Felder eines untergeordneten Dokuments als Felder im Dokument der obersten Ebene zurückgeben?

Sie können $replaceRoot verwenden Aggregationsoperator seit 3.4:

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

Liefert die erwartete Ausgabe:

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