Ændring af en hel database i MongoDB er ret enkel og kan udføres på en række forskellige måder. Nedenfor vil vi kort undersøge to metoder til at slette (eller slette) en database i MongoDB ved at bruge både *nix
shell såvel som Mongo shell-værktøjet.
Brug af Unix Shell og Eval-kommandoen
Den enkleste metode til at slette din Mongo-database er at udføre mongo
shell-kommando fra kommandolinjen, sammen med de relevante flag og muligheder for at informere mongo
skal du ønsker at droppe en database.
På det mest grundlæggende niveau, mongo
shell-kommando kan bruges til hurtigt at oprette forbindelse til en bestemt database. I dette eksempel bruger vi det til at oprette forbindelse til bookstore
database fra vores server bash prompt:
$ mongo bookstore
MongoDB shell version: 3.0.9
connecting to: bookstore
>
Men i stedet for blot at oprette forbindelse til vores bookstore
database og kørende kommandoer fra mongo
shell, kan vi faktisk bestå eval
flag efterfulgt af den JavaScript-kode, vi ønsker, at MongoDB skal udføre, og vores database kan nemt slippes på én linje.
I dette tilfælde ønsker vi at droppe databasen, så vi bruger db.dropDatabase()
metode til at slette den database, vi er forbundet til. Selvom det ikke er nødvendigt, pakker vi også denne metode ind i printjson
funktion, for at sikre, at outputtet af denne kommando giver mening og kan læses.
$ mongo bookstore --eval "printjson(db.dropDatabase())"
MongoDB shell version: 3.0.9
connecting to: bookstore
{ "dropped" : "bookstore", "ok" : 1 }
Brug af Mongo Shell Utility
Den alternative metode begynder med at oprette forbindelse til MongoDB gennem mongo
shell-værktøj, og udsend derefter kommandoer i selve Mongo for at oprette forbindelse til og slippe den specifikke database.
Selvom ingen af metoderne er særlig fordelagtige i forhold til den anden, er det i et produktionsmiljø nok bedst at undgå at bruge ovenstående eval
og brug i stedet mongo
shell, som vi vil udforske nedenfor, hvilket giver dig mulighed for at sikre du er forbundet til (og dermed sletter) den korrekte database.
Som før, start med at udstede mongo
kommando fra din bash-shell:
$ mongo
MongoDB shell version: 3.0.9
connecting to: test
>
Nu hvor du er forbundet til Mongo, skal du bruge show dbs
kommando for at vise alle databaser i systemet:
> show dbs
local 0.078GB
bookstore 0.521GB
Tilslut nu til den specifikke database, som du ønsker at droppe med use <database>
kommando. I vores tilfælde vil vi igen oprette forbindelse til bookstore
:
> use bookstore
switched to db bookstore
Udfør endelig sletningen ved at kalde db.dropDatabase()
metode, der ligner vores eval
'ed udtalelse ovenfor.
> db.dropDatabase()
{ "dropped" : "bookstore", "ok" : 1 }
Der har du det! To simple metoder til hurtigt og nemt at droppe en specifik database fra MongoDB.