Wie kann ich dies am einfachsten von meinem Bash-Prompt aus tun?
So was:
mongo <dbname> --eval "db.dropDatabase()"
Weitere Informationen zum Scripting der Shell über die Befehlszeile finden Sie hier: https://docs.mongodb.com/manual/tutorial/write-scripts-for-the-mongo-Shell/#scripting
Am besten geht es von der Mongodb-Konsole aus:
> use mydb;
> db.dropDatabase();
Alternativ können Sie mongod
stoppen und die Datendateien aus Ihrem Datenverzeichnis löschen und anschließend neu starten.
Hinweis: Sie können die Datendateien auch in einen Unterordner verschieben und löschen, wenn Sie sicher sind, dass Sie sie nicht mehr benötigen.
Sie brauchen keine Heredocs oder Eval , mongo
selbst kann als Dolmetscher fungieren.
#!/usr/bin/env mongo
var db = new Mongo().getDB("someDatabase");
db.dropDatabase();
Machen Sie die Datei ausführbar und führen Sie sie aus.
Ich fand das leicht zu merken:
mongo //to start the mongodb Shell
show dbs //to list existing databases
use <dbname> //the <dbname> is the database you'd like to drop
db //should show <dbname> just to be sure I'm working with the right database
db.dropDatabase() //will delete the database & return { "dropped" : "<dbname>", "ok" : 1 }
Starten Sie MongoDB
Der Befehl zum Ablegen der Datenbank lautet:
1. Wählen Sie zuerst die Datenbank aus, die Sie löschen möchten
use < database name >
2. Dann benutze das ..
db.dropDatabase()
Sie könnten auch ein "Heredoc" verwenden:
mongo localhost/db <<EOF
db.dropDatabase()
EOF
Ergebnisse in der Ausgabe wie:
mongo localhost/db <<EOF
db.dropDatabase()
EOF
MongoDB Shell version: 2.2.2
connecting to: localhost/db
{ "dropped" : "db", "ok" : 1 }
bye
Ich benutze gerne Heredocs für solche Dinge, falls Sie eine komplexere Befehlsfolge wünschen.
Andere Weise:
echo "db.dropDatabase()" | mongo <database name>
Hier sind einige vollständige Löschvorgänge für Mongodb mit der Mongo-Shell
Um bestimmtes Dokument löschen in Sammlungen: db.mycollection.remove( {name:"stack"} )
Um alle Dokumente löschen in Sammlungen: db.mycollection.remove()
An Sammlung löschen: db.mycollection.drop()
zu Datenbank löschen: Gehen Sie zuerst mit use mydb
-Befehl zu dieser Datenbank und dann
db.dropDatabase()
direkt vom Befehl Prompt oder blash: mongo mydb --eval "db.dropDatabase()
In einem Terminal ausführen:
mongo // To go to Shell
show databases // To show all existing databases.
use <DATA_BASE> // To switch to the wanted database.
db.dropDatabase() // To remove the current database.
Öffnen Sie ein anderes Terminalfenster und führen Sie die folgenden Befehle aus:
mongodb
use mydb
db.dropDatabase()
Die Ausgabe dieser Operation sollte wie folgt aussehen
MAC:FOLDER USER$ mongodb
> show databases
local 0.78125GB
mydb 0.23012GB
test 0.23012GB
> use mydb
switched to db mydb
>db.dropDatabase()
{ "dropped" : "mydb", "ok" : 1 }
>
Bitte beachten Sie, dass mydb
noch verwendet wird. Durch das Einfügen von Eingaben zu diesem Zeitpunkt wird die Datenbank erneut initialisiert.
Mit Javascript können Sie einfach ein drop_bad.js -Skript erstellen, um Ihre Datenbank zu löschen:
erstellen Sie drop_bad.js :
use bad;
db.dropDatabase();
Dann führen Sie den Befehl 1 im Terminal aus, um das Skript mit der Mongo-Shell auszuführen:
mongo < drop_bad.js
Obwohl es mehrere Methoden gibt, ist db.dropDatabase()
die beste (effizienteste und einfachste) Methode.
Melden Sie sich in Ihrer mongoDB-Befehlszeile an: Geben Sie die folgenden Befehle ein . use "YOUR_DATABASE_NAME"; db.dropDatabase ();
eine Liner-Fernbedienung entfernt alle Sammlungen aus der Mongo-Datenbank
note muss -Host verwenden (-h ist die Hilfe für den Mongo-Befehl), und -d ist keine Option. Wählen Sie die Datenbank und den Befehl nach dem Kennwort aus.
mongo --Host <mongo_Host>:<mongo_port> -u <db_user> -p <db_pass> <your_db> --eval "db.dropDatabase()"
Stellen Sie bei der Eingabeaufforderung zunächst mit dem folgenden Befehl eine Verbindung zu Mongodb her:
mongo -h [Host-name]:[port:number] -d [dbname] -u [username] -p [password]
sie werden mit <dbname>
auf db zugreifen.
Führen Sie den folgenden Befehl aus, um die gesamte Datenbank zu löschen:
db.dropDatabase()