sql >> Databasteknik >  >> NoSQL >> MongoDB

Hur skulle jag kunna skriva aggregering utan att överskrida den maximala dokumentstorleken?

Som standard returneras resultatet av aggregering till dig i ett enda BSON-dokument, vilket är varifrån storleksbegränsningen kommer. Om du behöver returnera mer än så kan du antingen:

  • få resultaten att skickas till en samling. Det gör du genom att avsluta din pipeline med

    {"$out":"något-samlingsnamn"}

    Du frågar sedan efter den samlingen som vanligt (du måste ta bort den själv när du är klar med den)

  • få resultaten att returnera som en markör genom att ange useCursor=True när du ringer aggregat.

Båda dessa alternativ kräver mongodb 2.6:om du fortfarande kör mongodb 2.4 så är detta bara en grundläggande gräns för aggregering.



  1. Hitta dokument med array som inte innehåller ett specifikt värde

  2. Sortering av aggregering addToSet-resultat

  3. Hur man använder kryptering för att skydda MongoDB-data

  4. så din HBase är trasig