9
votes

MongoDB Supprimer la collection MapReduce

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).


0 commentaires

3 Réponses :


3
votes

La table de la carte temporaire doit être nettoyée lorsque la connexion qui les a créée est fermée:

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.

- Mongodb Docs

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.


0 commentaires

15
votes

i Exécutez le script en shell interactif: xxx

Il résolut mon problème.


4 commentaires

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 il a changé en si (noms [i] .indexof ("TMP.MRS") == 0)



3
votes

Un autre moyen d'atteindre la même chose est cet extrait: xxx

pro: il n'essaiera pas de collecter tous vos espaces de noms dans une matrice JavaScript. Mongodb Segfault sur trop d'espaces de noms.


0 commentaires