sql >> Databasteknik >  >> NoSQL >> MongoDB

Vad kan göras med Mongo Aggregation / Performance of Mongo Aggregation

Jag fick ett giltigt och användbart svar från Google-grupper. Vill dela med er alla.

Begränsningen gäller inte antalet dokument:begränsningen gäller mängden minne som används av slutresultatet (eller ett mellanresultat).

Så:om du samlar ihop 200 000 dokument men resultatet passar in i resultatet på 16 MB, så är du bra. Om du sammanställer 100 dokument och resultatet inte ryms i 16 MB, får du ett felmeddelande.

På samma sätt, om du gör en sort() eller en group() på ett mellanresultat, och den operationen kräver mer än 10 % av tillgängligt RAM-minne, får du ett felmeddelande. Detta är bara löst relaterat till hur många dokument du har:det är en funktion av hur stort det specifika steget i pipelinen är.

Gränsen på 16 MB är inte justerbar. Detta är den maximala storleken på ett dokument i MongoDB. Eftersom aggregeringsramverket för närvarande implementeras som ett kommando, måste resultatet från aggregeringen returneras i ett enda dokument:därav gränsen på 16 MB.

se denna inlägg



  1. Ignorera odefinierade värden som skickas i frågeobjektsparametern för Mongooses sökfunktion?

  2. Installera Apache CouchDB på Debian 9

  3. MongoDB:Lås och lås upp samlingen manuellt

  4. Mongoose findOne-metoden hämtar ett giltigt dokument med saknat _id