sql >> Database >  >> NoSQL >> MongoDB

Hoe kan ik aggregatie schrijven zonder de maximale documentgrootte te overschrijden?

Standaard wordt het resultaat van aggregaties naar u teruggestuurd in één BSON-document, waar de groottebeperking vandaan komt. Als u meer dan dat moet retourneren, kunt u:

  • laat de resultaten naar een verzameling worden uitgevoerd. Dit doe je door je pijplijn af te werken met

    {"$out":"some-collection-name"}

    Vervolgens doorzoekt u die verzameling zoals u gewend bent (u moet deze zelf verwijderen als u klaar bent)

  • laat de resultaten teruggeven als een cursor, door useCursor=True . op te geven wanneer u aggregaat belt.

Voor beide opties is mongodb 2.6 vereist:als u nog steeds mongodb 2.4 gebruikt, is dit slechts een fundamentele limiet van aggregaties.



  1. Laravel:Redis Er kon geen verbinding worden gemaakt:[tcp://127.0.0.1:6379]

  2. Tips voor het upgraden naar de nieuwste MongoDB-versie

  3. Hoe DIFF op gesorteerde set te krijgen

  4. Hoe lid te worden van twee extra collecties met voorwaarden