sql >> Base de Datos >  >> NoSQL >> MongoDB

Cómo devolver un documento anidado en una matriz

Debe ejecutar $unwind para obtener un solo documento de services y $replaceRoot para promoverlo al nivel raíz:

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