Zmiana całej bazy danych w MongoDB jest dość prosta i można ją przeprowadzić na wiele sposobów. Poniżej krótko przeanalizujemy dwie metody usuwania (lub usuwania) bazy danych w MongoDB, przy użyciu obu *nix
powłoki, jak również narzędzie powłoki Mongo.
Korzystanie z powłoki uniksowej i polecenia Eval
Najprostszą metodą usunięcia bazy danych Mongo jest wykonanie mongo
polecenie powłoki z wiersza poleceń, wraz z odpowiednimi flagami i opcjami informującymi mongo
powłoki, którą chcesz usunąć bazę danych.
Na najbardziej podstawowym poziomie mongo
Polecenie powłoki może służyć do szybkiego łączenia się z określoną bazą danych. W tym przykładzie użyjemy go do połączenia z bookstore
baza danych z naszego monitu bash serwera:
$ mongo bookstore
MongoDB shell version: 3.0.9
connecting to: bookstore
>
Jednak zamiast po prostu łączyć się z naszą bookstore
bazy danych i uruchamianie poleceń z mongo
powłoki, możemy faktycznie przekazać eval
flaga, po której następuje kod JavaScript, który ma zostać wykonany przez MongoDB, a nasza baza danych może zostać łatwo upuszczona w jednym wierszu.
W tym przypadku chcemy usunąć bazę danych, więc użyjemy db.dropDatabase()
metoda usunięcia bazy danych, z którą jesteśmy połączeni. Chociaż nie jest to konieczne, opakujemy również tę metodę w printjson
funkcji, aby upewnić się, że dane wyjściowe tego polecenia mają sens i są czytelne.
$ mongo bookstore --eval "printjson(db.dropDatabase())"
MongoDB shell version: 3.0.9
connecting to: bookstore
{ "dropped" : "bookstore", "ok" : 1 }
Korzystanie z narzędzia powłoki Mongo
Alternatywna metoda zaczyna się od połączenia z MongoDB przez mongo
narzędzia powłoki, a następnie wydawaj polecenia w samym Mongo, aby połączyć się z określoną bazą danych i usunąć ją.
Chociaż żadna metoda nie jest szczególnie korzystna w stosunku do drugiej, w środowisku produkcyjnym prawdopodobnie najlepiej jest unikać używania powyższego eval
i zamiast tego użyj mongo
powłoki, jak omówimy poniżej, co pozwala zapewnić jesteś połączony (a tym samym usuwasz) właściwą bazę danych.
Tak jak poprzednio, zacznij od wydania mongo
polecenie z powłoki bash:
$ mongo
MongoDB shell version: 3.0.9
connecting to: test
>
Teraz, gdy jesteś już połączony z Mongo, użyj show dbs
polecenie, aby wyświetlić wszystkie bazy danych w systemie:
> show dbs
local 0.078GB
bookstore 0.521GB
Teraz połącz się z konkretną bazą danych, którą chcesz usunąć za pomocą use <database>
Komenda. W naszym przypadku ponownie połączymy się z bookstore
:
> use bookstore
switched to db bookstore
Na koniec wykonaj usunięcie, wywołując db.dropDatabase()
metoda, podobna do naszej eval
'ed oświadczenie powyżej.
> db.dropDatabase()
{ "dropped" : "bookstore", "ok" : 1 }
Masz to! Dwie proste metody szybkiego i łatwego usuwania określonej bazy danych z MongoDB.