-
$match
あなたの状態 -
$group
グレード別に、values
のルートドキュメントの配列を作成します 、 - 必須フィールドを定義し、条件作成フィールド
isObtained
を確認しますsport
の場合Badminton
です 次にtrue、それ以外の場合はfalse
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
を使用 、