Bene, hai bisogno di $group ma puoi semplicemente usare una costante (ad es. null , consulta i documenti
) per il suo id in modo che risulti in un unico gruppo. $$ROOT
quindi si riferisce al documento stesso che puoi usare con $first e $last così
$group: {
_id: null,
first: { $first: "$$ROOT" },
last: { $last: "$$ROOT" }
}
Ovviamente puoi introdurre ulteriori $project fasi per modellare quei dati in un array (come hai detto che vuoi un elenco) ecc.
Come nota a margine potresti voler introdurre un $sort fase per assicurarsi che $first e $last avere un significato proprio.