J'aimerais savoir s'il existe une commande pour supprimer toutes les bases de données de mon MongoDB?
Je sais que si je ne veux supprimer qu'un seul datatable, j'ai juste besoin de taper le nom de la base de données comme le code ci-dessous mais je ne veux pas avoir à le spécifier.
mongo DB_NAME --eval 'db.dropDatabase();'
var mongo = db.getMongo(); mongo.getDBNames().forEach(function (dbname) { var db = mongo.getDB(dbname); db.dropDatabase(); });
Essayez cette commande:
la source
docker exec mongodb sh -c "mongo --quiet --eval 'db.getMongo().getDBNames().forEach(function(i){db.getSiblingDB(i).dropDatabase()})'"
Vous pouvez également le faire avec une simple commande mongo:
la source
En ajoutant à la réponse de @ ALoR, pour plus de commodité, vous pouvez mettre ce qui suit dans ~ / .mongorc.js
Ensuite, au mongo shell, vous pouvez simplement faire
À partir de la documentation:
la source
Enregistrez ceci dans drop_all_dbs.js:
Vous pouvez maintenant exécuter:
et toutes les bases de données (sauf admin et local) seront supprimées.
Cette réponse est une copie de celle d'ALoR, il suffit de corriger la chute des bases de données système
la source
Vous pouvez le faire facilement grâce au pilote officiel c #:
la source
var mongo = db.getMongo(); mongo.getDBNames().filter(n => n != 'admin' && n != 'local' && n != 'config').forEach(function (dbname) { var db = mongo.getDB(dbname); db.dropDatabase(); });
Celui-ci peut être copié et exécuté en toute sécurité sur mongoshell. Crédits pour toutes les réponses ci-dessus. Excluez également la base de données 'config'.
la source
C'est aussi simple que
Ou, vous pouvez démarrer une session mongo sur votre terminal et écrire
C'est exactement la même chose.
la source