Ich möchte wissen, ob es einen Befehl zum Löschen aller Datenbanken aus meiner MongoDB gibt.
Ich weiß, wenn ich nur eine Datentabelle löschen möchte, muss ich nur den Namen der Datenbank wie den folgenden Code eingeben, aber ich möchte ihn nicht angeben müssen.
mongo DB_NAME --eval 'db.dropDatabase();'
var mongo = db.getMongo(); mongo.getDBNames().forEach(function (dbname) { var db = mongo.getDB(dbname); db.dropDatabase(); });
Versuchen Sie diesen Befehl:
quelle
docker exec mongodb sh -c "mongo --quiet --eval 'db.getMongo().getDBNames().forEach(function(i){db.getSiblingDB(i).dropDatabase()})'"
Sie können dies auch mit einem einfachen Mongo-Befehl tun:
quelle
Wenn Sie die Antwort von @ ALoR ergänzen, können Sie der Einfachheit halber Folgendes in ~ / .mongorc.js einfügen
Dann können Sie an der Mongo-Muschel einfach machen
Aus den Dokumenten:
quelle
Speichern Sie dies in drop_all_dbs.js:
Jetzt können Sie ausführen:
und alle Datenbanken (außer admin und local) werden gelöscht.
Diese Antwort ist eine Kopie von ALoRs, korrigieren Sie einfach den Tropfen der System-Datenbank
quelle
Sie können es einfach über den offiziellen c # -Treiber tun:
quelle
var mongo = db.getMongo(); mongo.getDBNames().filter(n => n != 'admin' && n != 'local' && n != 'config').forEach(function (dbname) { var db = mongo.getDB(dbname); db.dropDatabase(); });
Dieser ist sicher zu kopieren und auf Mongoshell auszuführen. Credits für alle Antworten oben. Schließen Sie einfach auch die 'config'-Datenbank aus.
quelle
Es ist so einfach wie
Oder Sie können eine Mongo-Sitzung auf Ihrem Terminal starten und schreiben
Welches ist genau das gleiche.
quelle