$match
вашите условия$group
по степен и направете масив от основни документи вvalues
,- дефиниране на задължителни полета и проверка на създаденото поле
isObtained
при условие акоsport
еBadminton
след това вярно, в противен случай невярно
db.students.aggregate([
{ $match: { school: "xyz" } },
{
$group: {
_id: "$grade",
values: {
$push: {
sport: "$sport",
language: "$language",
Hobbies: "$Hobbies",
isObtained: {
$cond: [{ $eq: ["$sport", "Badminton"] }, true, false]
}
}
}
}
}
])
Ако искате да използвате динамичен подход, опитайте $mergeObjects
с $$ROOT
,