sql >> Databasteknik >  >> NoSQL >> MongoDB

Kan jag enkelt returnera alla fält i ett underdokument som fält i dokumentet på toppnivå med hjälp av aggregeringsramverket?

Du kan använda $replaceRoot aggregeringsoperatör sedan 3.4:

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

Ger utdata som förväntat:

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


  1. Gruppera resultat med 15 minuters tidsintervall i MongoDb

  2. 2 sätt att begränsa dokumenten som returneras i MongoDB

  3. Hämta information från användaren i databasen

  4. Sortering på Flera fält mongo DB