MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Como retornar um documento aninhado em uma matriz


Você precisa executar $unwind para obter um único documento de services e $replaceRoot para promovê-lo ao nível da raiz:
db.guilds.aggregate([
    {
        $match: { user_id: 123, "services.name": "test" }
    },
    {
        $unwind: "$services"
    },
    {
        $match: { "services.name": "test" }
    },
    {
        $replaceRoot: { newRoot: "$services" }
    }
])