292: QueryExceededMemoryLimitNoDiskUseAllowed (code d'erreur 292)
MongoDBQue signifie cette erreur ?
Une requête ou une étape d'agrégation a dépassé la limite de mémoire autorisée (100 MB par défaut) et a échoué, car l'écriture sur disque n'était pas autorisée. S'observe généralement dans les étapes de tri ou de regroupement.
Cause
Tri en mémoire sur de grandes données non indexées, grandes étapes d'agrégation $group/$sort, très grands jeux de résultats intermédiaires, paramètre allowDiskUse:false.
Comment la corriger
Autorisez le débordement sur disque dans l'agrégation avec l'option allowDiskUse:true : db.collection.aggregate(pipeline, {allowDiskUse:true}). Réduisez l'utilisation de la mémoire en indexant les champs triés. Filtrez tôt le pipeline avec $match pour réduire les données traitées. Paginez les résultats si nécessaire. Dans MongoDB 6.0+, l'utilisation du disque est activée par défaut dans la plupart des cas.