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

Kan jeg nemt returnere alle felterne i et underdokument som felter i dokumentet på øverste niveau ved hjælp af aggregeringsrammen?

Du kan bruge $replaceRoot aggregeringsoperatør siden 3.4:

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

Giver output som forventet:

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


  1. få en python docker container til at interagere med en redis docker container

  2. Node.js, Socket.io, Redis pub/sub høj lydstyrke, lav latency vanskeligheder

  3. Sådan designer du meget tilgængelige Open Source-databasemiljøer

  4. MongoDB:bedste design til beskedapp