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" }
}
])