J'ai obtenu une réponse valide et utile des groupes Google. Je voudrais partager avec vous tous.
La limitation n'est pas sur le nombre de documents :la limitation est sur la quantité de mémoire utilisée par le résultat final (ou un résultat intermédiaire).
Donc :si vous agrégez 200 000 documents mais que le résultat rentre dans le résultat de 16 Mo, alors tout va bien. Si vous regroupez 100 documents et que le résultat ne tient pas dans 16 Mo, vous obtiendrez une erreur.
De même, si vous effectuez un sort() ou un group() sur un résultat intermédiaire et que cette opération nécessite plus de 10 % de RAM disponible, vous obtiendrez une erreur. Cela n'est que vaguement lié au nombre de documents dont vous disposez :cela dépend de la taille de l'étape particulière du pipeline.
La limite de 16 Mo n'est pas réglable. Il s'agit de la taille maximale d'un document dans MongoDB. Étant donné que le framework d'agrégation est actuellement implémenté sous forme de commande, le résultat de l'agrégation doit être renvoyé dans un seul document :d'où la limite de 16 Mo.
voir ceci poster