MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

MongoDB ottiene il primo e l'ultimo documento nella query aggregata

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.