Når du har mange, mange felter i underdokumentet og indimellem opdateres med nye felter, så er projektion ikke en gangbar mulighed. Heldigvis har MongoDB siden 3.4 en ny operatør kaldet $replaceRoot .
Alt du skal gøre er at tilføje en ny fase i slutningen af din pipeline.
db.getCollection('sample').aggregate([
{
$replaceRoot: {newRoot: "$command"}
},
{
$project: {score: 0 } //exclude score field
}
])
Dette ville give dig det ønskede output.
Bemærk, at i tilfælde af sammenlægning (især efter en $group fase) "kommando"-dokumentet kunne være et array og kunne indeholde flere dokumenter. I dette tilfælde skal du $unwind arrayet først for at kunne bruge $replaceRoot .