Sono riuscito a risolverlo dopo aver armeggiato un po' di più con le diverse fasi:
aggregate([
{
$unwind: "$SalesItems"
},
{
$lookup: {
from: "SalesItem",
localField: "SalesItems.SalesItemID",
foreignField: "ID",
as: "SalesItemDetails"
}
},
{
$group: {
_id: "$_id",
SalesItems: {
$push: {
SalesItemID: "$SalesItems.SalesItemID",
SalesItemDetails: "$SalesItemDetails"
}
}
}
}
])
Questo si traduce esattamente in quello che stavo cercando.