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

Rychlost MongoDB {aggregation $match} vs {find}

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.



  1. Dotaz MongoDB s podmínkou „nebo“.

  2. Rescue Timeout::Chyba z Redis Gem (Ruby)

  3. Expire time express a redis session

  4. ZRANGESTORE předchozí verze Redis 6.2.0