Как удалить базу данных MongoDB из командной строки?
какой самый простой способ сделать это из командной строке?
14 ответов
такой:
mongo <dbname> --eval "db.dropDatabase()"
дополнительная информация о сценарии оболочки из командной строки здесь: https://docs.mongodb.com/manual/tutorial/write-scripts-for-the-mongo-shell/#scripting
лучший способ сделать это - из консоли mongodb:
> use mydb;
> db.dropDatabase();
кроме того, вы можете остановить mongod
и удалите файлы данных из каталога данных, а затем перезапустите.
подсказка: вы также можете перемещать файлы данных в папке, и удалить их, если вы уверены, что они больше не нужны.
вам не нужны heredocs или eval, mongo
сам может выступать в качестве интерпретатора.
#!/usr/bin/env mongo
var db = new Mongo().getDB("someDatabase");
db.dropDatabase();
сделайте файл исполняемым и запустите его.
Я нашел это легко запомнить:
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 }
Запустить MongoDB
команда для удаления базы данных:
1. сначала выберите базу данных, которую вы хотите удалить
use < database name >
2. тогда используйте это..
db.dropDatabase()
вы также можете использовать "heredoc":
mongo localhost/db <<EOF
db.dropDatabase()
EOF
результаты производства, таких как:
mongo localhost/db <<EOF
db.dropDatabase()
EOF
MongoDB shell version: 2.2.2
connecting to: localhost/db
{ "dropped" : "db", "ok" : 1 }
bye
мне нравится использовать heredocs для таких вещей, если вам нужна более сложная последовательность команд.
вот некоторые операции полного удаления для mongodb с помощью Mongo shell
до удалить конкретный документ в коллекции: db.mycollection.remove( {name:"stack"} )
до удалить все документы в коллекции: db.mycollection.remove()
до коллекция удалить : db.mycollection.drop()
to удалить базу данных : сначала перейдите в эту базу данных по а то
db.dropDatabase()
непосредственно из командной строки или blash : mongo mydb --eval "db.dropDatabase()
выполнить в терминале:
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.
откройте другое окно терминала и выполните следующие команды,
mongodb
use mydb
db.dropDatabase()
выход этой операции должен выглядеть следующим образом
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 }
>
обратите внимание:mydb
все еще используется, поэтому вставка любого ввода в это время снова инициализирует базу данных.
используя Javascript, вы можете легко создать drop_bad.js скрипт для удаления базы данных:
создать drop_bad.js:
use bad;
db.dropDatabase();
чем выполнить команду 1 в терминал для exectue скрипт через монго оболочки:
mongo < drop_bad.js
Хотя существует несколько методов, лучший способ (самый эффективный и простой) - использовать db.dropDatabase()
в командной строке сначала подключитесь к mongodb, используя следующую команду:
mongo -h [host-name]:[port:number] -d [dbname] -u [username] -p [password]
вы будете получать доступ к БД с <dbname>
.
выполните следующую команду, чтобы удалить всю базу данных:
db.dropDatabase()
используйте следующую команду из оболочки mongo, чтобы удалить db
использовать ; децибел.dropDatabase();