Możesz użyć $replaceRoot operator agregacji od 3.4:
db.getCollection('sample').aggregate([
{
$replaceRoot: {newRoot: "$field1"}
}
])
Dostarcza dane wyjściowe zgodnie z oczekiwaniami:
{
"subfield" : {},
"subfield2" : [],
"subfield3" : 44,
"subfield5" : "xyz"
}