MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Come posso scrivere l'aggregazione senza superare la dimensione massima del documento?

Per impostazione predefinita, i risultati delle aggregazioni vengono restituiti in un unico documento BSON, da cui deriva la limitazione delle dimensioni. Se hai bisogno di restituire più di quello puoi:

  • fare in modo che i risultati vengano inviati a una raccolta. Puoi farlo completando la tua pipeline con

    {"$out":"nome-raccolta"}

    Quindi esegui una query su quella raccolta normalmente (dovrai eliminarla tu stesso quando hai finito)

  • avere i risultati restituiti come un cursore, specificando useCursor=True quando chiami aggregato.

Entrambe queste opzioni richiedono mongodb 2.6:se stai ancora eseguendo mongodb 2.4 allora questo è solo un limite fondamentale delle aggregazioni.