Jak usunąć bazę danych MongoDB z wiersza poleceń?

Jaki jest najprostszy sposób, aby to zrobić z mojego monitu bash?

 781
Author: Salvador Dali, 2012-01-14

14 answers

Tak:

mongo <dbname> --eval "db.dropDatabase()"

Więcej informacji na temat skryptowania powłoki z linii poleceń tutaj: https://docs.mongodb.com/manual/tutorial/write-scripts-for-the-mongo-shell/#scripting

 1002
Author: Tim Gautier,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-06-09 19:24:06

Najlepszy sposób to zrobić z konsoli mongodb:

> use mydb; 
> db.dropDatabase();

Alternatywnie możesz zatrzymać mongod i usunąć Pliki Danych z katalogu data, a następnie uruchomić ponownie.

Podpowiedź: możesz także przenieść pliki danych do podfolderu i usunąć je, jeśli jesteś pewien, że nie są już potrzebne.

 809
Author: mnemosyn,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-09-09 18:48:36

Nie potrzebujesz heredocs ani eval, mongo sam może działać jako tłumacz.

#!/usr/bin/env mongo
var db = new Mongo().getDB("someDatabase");
db.dropDatabase();

Utwórz plik wykonywalny i uruchom go.

 110
Author: mikemaccana,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-01-04 10:37:50

Znalazłem to łatwe do zapamiętania:

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 }
 104
Author: Alex Baban,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-04-01 14:46:52

Start MongoDB

Komenda dla zrzutu bazy danych to:

1. najpierw wybierz bazę danych, którą chcesz usunąć

use < database name >

2. Następnie użyj tego..

db.dropDatabase()
 31
Author: bud-e,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-11-18 02:54:17

Można też użyć "heredoc":

mongo localhost/db <<EOF
db.dropDatabase()
EOF

Wyniki w postaci:

mongo localhost/db <<EOF
db.dropDatabase()
EOF
MongoDB shell version: 2.2.2
connecting to: localhost/db
{ "dropped" : "db", "ok" : 1 }    
bye

Lubię używać heredocs do takich rzeczy, w przypadku, gdy chcesz bardziej skomplikowanych sekwencji poleceń.

 28
Author: David,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-02-13 19:57:02

W inny sposób:

echo "db.dropDatabase()" | mongo <database name>
 17
Author: Gabriel Mancini,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-09-09 17:40:42

Oto niektóre operacje pełnego usuwania mongodb przy użyciu powłoki mongo

Do Usuń konkretny dokument w zbiorach: db.mycollection.remove( {name:"stack"} )

Do Usuń wszystkie dokumenty w kolekcjach: db.mycollection.remove()

Do Usuń zbiór : db.mycollection.drop()

Do Usuń bazę danych : najpierw przejdź do tej bazy danych za pomocą polecenia use mydb, a następnie

db.dropDatabase()

Bezpośrednio z wiersza polecenia lub blash: mongo mydb --eval "db.dropDatabase()

 17
Author: bhv,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-03-07 10:47:21

Wykonaj w Terminalu:

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
Author: Anderson Lopes,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-10-27 00:53:55

Otwórz inne okno terminala i wykonaj następujące polecenia,

mongodb
use mydb
db.dropDatabase()

Wyjście tej operacji powinno wyglądać następująco

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 }
>

Należy pamiętać, że mydb jest nadal w użyciu, dlatego wstawienie dowolnego wejścia w tym czasie spowoduje ponowne zainicjowanie bazy danych.

 11
Author: helcode,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-10-18 01:31:05

Używając Javascript, możesz łatwo utworzyć drop_bad.skrypt JS do upuszczania bazy danych:

Utwórz drop_bad.js :

use bad;
db.dropDatabase();

Następnie uruchom 1 polecenie w Terminalu, aby wykonać skrypt przy użyciu powłoki mongo:

mongo < drop_bad.js
 4
Author: sergiuz,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-01-22 22:18:13

Mimo że istnieje kilka metod, najlepszym sposobem (najbardziej efektywnym i najłatwiejszym) jest użycie db.dropDatabase()

 3
Author: Lakmal Vithanage,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-06-18 07:29:15

W wierszu polecenia najpierw połącz się z mongodb używając następującego polecenia:

mongo -h [host-name]:[port:number] -d [dbname] -u [username] -p [password]

Uzyskasz dostęp do db za pomocą <dbname>.

Uruchom następujące polecenie, aby upuścić całą bazę danych:

db.dropDatabase()
 -1
Author: TechGuy,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-03-26 15:09:56

Użyj następującego polecenia z powłoki mongo, aby zrzucić db

Użycie ; db.dropDatabase ();

 -1
Author: Anoop Sharma,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-04-05 07:56:29