MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Comment puis-je écrire une agrégation sans dépasser la taille maximale du document ?

Par défaut, le résultat des agrégations vous est renvoyé dans un seul document BSON, d'où provient la restriction de taille. Si vous devez retourner plus que cela, vous pouvez :

  • faire en sorte que les résultats soient sortis dans une collection. Pour ce faire, terminez votre pipeline avec

    {"$out":"un-nom-de-collection"}

    Vous interrogez ensuite cette collection normalement (vous devrez la supprimer vous-même lorsque vous en aurez terminé)

  • avoir les résultats renvoyés sous forme de curseur, en spécifiant useCursor=True lorsque vous appelez un agrégat.

Ces deux options nécessitent mongodb 2.6 :si vous utilisez toujours mongodb 2.4, il s'agit simplement d'une limite fondamentale des agrégations.