En raison de l'erreur dans le code du client, MongoDB a créé de nombreuses collections "M.Mapreduce ....", comment les supprimer (par masque peut-être). P>
3 Réponses :
La table de la carte temporaire doit être nettoyée lorsque la connexion qui les a créée est fermée: p>
carte / réduire est invoqué via une base de données commander. La base de données crée un Collection temporaire pour maintenir la production de l'opération. La collection est nettoyé lorsque la connexion du client ferme ou quand explicitement abandonné. Alternativement, on peut spécifier un Nom de la collection de sortie permanente. carte et réduire les fonctions sont écrites dans JavaScript et exécutez sur le serveur. P> blockQuote>
- Mongodb Docs P>
Sinon, vous pouvez les supprimer en utilisant la même méthode que vous supprimez toute autre collection. Cela pourrait être un peu répétitif cependant. P>
i Exécutez le script en shell interactif: Il résolut mon problème. P> P>
copié le même code, mais n'a pas fonctionné pour moi :( Modifier: le nom était différent. Cela fonctionne maintenant. Merci.
Bonne idée. Vous voudrez peut-être aborder la cause de la question à long terme cependant. Création (et départ) Une charge de collections temporaires pour le nettoyage manuel n'est probablement pas idéale.
Vous devriez écrire> si (noms [i] .indexof ("tmp.mr.") == 0) {<
Pour la version
3.2.x code> il a changé en
si (noms [i] .indexof ("TMP.MRS") == 0) code>
Un autre moyen d'atteindre la même chose est cet extrait: pro: il n'essaiera pas de collecter tous vos espaces de noms dans une matrice JavaScript. Mongodb Segfault sur trop d'espaces de noms. P> p>