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

Co lze dělat s Mongo Aggregation / Performance of Mongo Aggregation

Dostal jsem platnou a užitečnou odpověď od skupin Google. Rád bych se s vámi všemi podělil.

Omezení se nevztahuje na počet dokumentů:omezení je na množství paměti použité konečným výsledkem (nebo mezivýsledkem).

Takže:pokud agregujete 200 000 dokumentů, ale výsledek se vejde do výsledku o velikosti 16 MB, pak jste v pořádku. Pokud agregujete 100 dokumentů a výsledek se nevejde do 16 MB, zobrazí se chyba.

Podobně, pokud provedete sort() nebo group() na mezivýsledku a tato operace potřebuje více než 10 % dostupné paměti RAM, dostanete chybu. To jen volně souvisí s tím, kolik dokumentů máte:je to funkce toho, jak velká je konkrétní fáze potrubí.

Limit 16 MB není nastavitelný. Toto je maximální velikost dokumentu v MongoDB. Vzhledem k tomu, že agregační rámec je v současnosti implementován jako příkaz, musí být výsledek agregace vrácen v jediném dokumentu:proto je limit 16 MB.

viz toto příspěvek



  1. Existuje nějaká možnost, jak omezit využití paměti mongodb?

  2. Výkon Redis vs Disk v aplikaci pro ukládání do mezipaměti

  3. Dotaz na Mongodb na měsíc, den, rok... data a času

  4. MongoDB:Seřaďte podle existujícího pole a poté podle abecedy