Hlavním účelem aggregation framework
je usnadnit dotazování velkého počtu záznamů a vygenerovat malý počet výsledků, které pro vás mají hodnotu.
Jak jste řekli, můžete také použít více find
dotazy, ale nezapomeňte, že pomocí find
nemůžete vytvářet nová pole dotazy. Na druhé straně $group
etapa umožňuje definovat nová pole.
Pokud byste chtěli dosáhnout funkčnosti aggregation framework
, budete pravděpodobně muset spustit počáteční find
(nebo řetězit několik), vytáhnout tyto informace a dále s nimi manipulovat pomocí programovacího jazyka.
aggregation pipeline
může se zdát, že to trvá déle, ale alespoň víte, že musíte vzít v úvahu pouze výkon jednoho systému - enginu MongoDB.
Zatímco pokud jde o manipulaci s daty vrácenými z find
dotazu, budete s největší pravděpodobností muset dále manipulovat s daty pomocí programovacího jazyka, čímž se zvýší složitost v závislosti na složitosti zvoleného programovacího jazyka.