it-swarm.com.de

Wie lösche ich eine MongoDB-Datenbank von der Befehlszeile?

Wie kann ich dies am einfachsten von meinem Bash-Prompt aus tun?

803
coffee-grinder

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

1026
Tim Gautier

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.

824
mnemosyn

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.

112
mikemaccana

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 }
108
Alex Baban

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()
31
user2719890

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. 

28
David

Andere Weise:

echo "db.dropDatabase()" | mongo <database name>
17
Gabriel Mancini

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

17
bhv

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.
15
Anderson Lopes

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

11
helcode

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
4
sergiuz

Obwohl es mehrere Methoden gibt, ist db.dropDatabase() die beste (effizienteste und einfachste) Methode.

3

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()"
0
jasenmichael

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()
0
TechGuy