Cóż, potrzebujesz $group ale możesz po prostu użyć stałej (np. null , zobacz dokumentację
) dla jego id tak, aby powstała jedna grupa. $$ROOT
następnie odnosi się do samego dokumentu, którego możesz użyć z $first i $last lubię tak
$group: {
_id: null,
first: { $first: "$$ROOT" },
last: { $last: "$$ROOT" }
}
Oczywiście możesz wprowadzić kolejny $project etapy kształtowania tych danych w tablicę (jak wspomniałeś, chcesz listę) itp.
Na marginesie możesz wprowadzić $sort etap, aby upewnić się, że $first i $last mają właściwe znaczenie.