Sådan ville jeg gå til det. For at du kan fjerne gruppe-id'et "artefakt", skal du projicere gruppeoutputtet og ikke inkludere id'et.
db.getCollection('MyClass').aggregate( [
{$unwind: '$Class'},
{ $project : { Name : 1 ,
Occupation : 1,
Class : {
ClassType:1,
Professors:{
$cond: {
if: { $eq: ["$Class.ClassType", "English"] },
then: [],
else: "$Class.Professors"
}
}
}
}
},
{$group: {
_id: '$_id',
Name: {$first: '$Name'},
Occupation: {$first: '$Occupation'},
Class: {$push: '$Class'}
}},
] )