sql >> Databáze >  >> NoSQL >> MongoDB

MongoDB získá první a poslední dokument v souhrnném dotazu

Potřebujete $group ale můžete jednoduše použít konstantu (např. null , viz dokumenty ) pro jeho id takže výsledkem je jedna skupina. $$ROOT pak odkazuje na samotný dokument, který můžete použít s $first a $last takhle

$group: {
  _id: null,
  first: { $first: "$$ROOT" },
  last: { $last: "$$ROOT" }
}

Samozřejmě můžete představit další $project fáze pro tvarování těchto dat do pole (jak jste zmínili, že chcete seznam) atd.

Jako vedlejší poznámku můžete zavést $sort fázi, abyste se ujistili, že $first a $last mají správný význam.



  1. Odlišná hodnota počtu MongoDB?

  2. Jakou databázi zvolit (Cassandra, MongoDB, ?) pro ukládání a dotazování na data událostí / protokolů / metrik?

  3. Okrajové pouzdro MongoDB Integrity Update

  4. Jak změnit dílčí dokument po nalezení pomocí mongoose