Het wijzigen van een volledige database in MongoDB is vrij eenvoudig en kan op verschillende manieren worden uitgevoerd. Hieronder zullen we kort twee methoden onderzoeken voor het verwijderen (of verwijderen) van een database in MongoDB, met behulp van zowel de *nix
shell en het Mongo shell-hulpprogramma.
De Unix Shell en Eval Command gebruiken
De eenvoudigste methode om uw Mongo-database te verwijderen, is door de mongo
. uit te voeren shell-commando vanaf de opdrachtregel, samen met de juiste vlaggen en opties om de mongo
te informeren shell waarin u een database wilt neerzetten.
Op het meest basale niveau is de mongo
shell-opdracht kan worden gebruikt om snel verbinding te maken met een specifieke database. In dit voorbeeld gebruiken we het om verbinding te maken met de bookstore
database van onze server bash prompt:
$ mongo bookstore
MongoDB shell version: 3.0.9
connecting to: bookstore
>
Echter, in plaats van simpelweg verbinding te maken met onze bookstore
database en het uitvoeren van commando's van de mongo
shell, kunnen we de eval
. daadwerkelijk doorgeven vlag gevolgd door de JavaScript-code die we door MongoDB willen laten uitvoeren, en onze database kan eenvoudig in één regel worden neergezet.
In dit geval willen we de database verwijderen, dus gebruiken we de db.dropDatabase()
methode om de database waarmee we zijn verbonden te verwijderen. Hoewel dit niet nodig is, zullen we deze methode ook in de printjson
. opnemen functie, om ervoor te zorgen dat de uitvoer van deze opdracht zinvol en leesbaar is.
$ mongo bookstore --eval "printjson(db.dropDatabase())"
MongoDB shell version: 3.0.9
connecting to: bookstore
{ "dropped" : "bookstore", "ok" : 1 }
Het Mongo Shell-hulpprogramma gebruiken
De alternatieve methode begint door verbinding te maken met MongoDB via de mongo
shell-hulpprogramma en geef vervolgens opdrachten binnen Mongo zelf om verbinding te maken met de specifieke database en deze te laten vallen.
Hoewel geen van beide methoden bijzonder voordelig is ten opzichte van de andere, is het in een productieomgeving waarschijnlijk het beste om het bovenstaande eval
te vermijden. optie en gebruik in plaats daarvan de mongo
shell zoals we hieronder zullen onderzoeken, waarmee u zeker kunt stellen je bent verbonden met (en verwijdert dus) de juiste database.
Begin zoals eerder met het uitgeven van de mongo
commando vanuit je bash-shell:
$ mongo
MongoDB shell version: 3.0.9
connecting to: test
>
Nu je verbonden bent met Mongo, gebruik je de show dbs
commando om alle databases in het systeem weer te geven:
> show dbs
local 0.078GB
bookstore 0.521GB
Maak nu verbinding met de specifieke database die u wilt verwijderen met de use <database>
opdracht. In ons geval maken we opnieuw verbinding met bookstore
:
> use bookstore
switched to db bookstore
Voer ten slotte de verwijdering uit door de db.dropDatabase()
. aan te roepen methode, vergelijkbaar met onze eval
bovenstaande verklaring.
> db.dropDatabase()
{ "dropped" : "bookstore", "ok" : 1 }
Daar heb je het! Twee eenvoudige methoden om snel en gemakkelijk een specifieke database uit MongoDB te verwijderen.