Du måste köra $unwind
för att få ett enda dokument från services
och $replaceRoot
för att främja det till rotnivå:
db.guilds.aggregate([
{
$match: { user_id: 123, "services.name": "test" }
},
{
$unwind: "$services"
},
{
$match: { "services.name": "test" }
},
{
$replaceRoot: { newRoot: "$services" }
}
])