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

So geben Sie ein verschachteltes Dokument in einem Array zurück

Sie müssen $unwind ausführen um ein einzelnes Dokument von services zu erhalten und $replaceRoot um es auf Root-Ebene hochzustufen:

db.guilds.aggregate([
    {
        $match: { user_id: 123, "services.name": "test" }
    },
    {
        $unwind: "$services"
    },
    {
        $match: { "services.name": "test" }
    },
    {
        $replaceRoot: { newRoot: "$services" }
    }
])