La sfida principale è che vuoi tutti i campi dal documento principale (dato che non li conosci tutti) più solo 2 dalla lista.
Questo dovrebbe farlo:
{
$project: {
"_id": 0,
"document": "$$CURRENT",
"list._id": "$$CURRENT.list._id",
"list.name": "$$CURRENT.list.name"
}
}, {
$project: {
"document.list": 0
}
}, {
$addFields: {
"document.list._id": "$$CURRENT.list._id",
"document.list.name": "$$CURRENT.list.name"
}
}, {
$replaceRoot: {
newRoot: "$document"
}
}
Passa attraverso alcune fasi ma porta a termine il lavoro :). Richiederebbe il documento corrente e solo i campi dell'elenco desiderati. Quindi rimuoverebbe dal documento corrente il suo elenco. Quindi aggiungerebbe a quello stesso documento l'elenco (poiché quello è con i campi specifici che vogliamo). Quindi aggiungerebbe quei campi al documento e infine sostituirebbe la radice con quel documento.