Основното предизвикателство е, че искате всички полета от основния документ (тъй като не ги познавате всички) плюс само 2 от списъка.
Това трябва да го направи:
{
$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"
}
}
Минава през няколко етапа, но върши работата :). Ще вземе текущия документ и само полетата от списъка, които искате. След това ще премахне списъка си от текущия документ. След това ще добави към същия този документ списъка (тъй като този е с конкретните полета, които искаме). След това ще добави тези полета към документа и накрая ще замени корена с този документ.