Как удалить базу данных MongoDB из командной строки? - PullRequest
820 голосов
/ 14 января 2012

Какой самый простой способ сделать это из моего приглашения bash?

Ответы [ 16 ]

1041 голосов
/ 14 января 2012

Как это:

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

Подробнее о сценарии оболочки из командной строки здесь: https://docs.mongodb.com/manual/tutorial/write-scripts-for-the-mongo-shell/#scripting

831 голосов
/ 14 января 2012

Лучший способ сделать это с консоли mongodb:

> use mydb; 
> db.dropDatabase();

Кроме того, вы можете остановить mongod и удалить файлы данных из каталога данных, а затем перезапустить.* Подсказка: вы также можете переместить файлы данных в подпапку и удалить их, если вы уверены, что они вам больше не нужны.

112 голосов
/ 28 мая 2014

Вам не нужны heredocs или eval , mongo сам может выступать в качестве переводчика.

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

Сделать файл исполняемым и запустить его.

111 голосов
/ 25 сентября 2013

Мне было легко запомнить:

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 }
31 голосов
/ 10 августа 2014

Запуск MongoDB

Команда для удаления базы данных:

1. сначала выберите базу данных, которую вы хотите удалить

use < database name >

2. Тогда используйте это ..

db.dropDatabase()
28 голосов
/ 13 февраля 2013

Вы также можете использовать «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

Мне нравится использовать heredoc для подобных вещей, если вам нужна более сложная последовательность команд.

18 голосов
/ 10 декабря 2013

Ниже приведены некоторые операции полного удаления для mongodb с использованием оболочки mongo

Для удаления определенного документа в коллекциях: db.mycollection.remove( {name:"stack"} )

Для удаления всех документов в коллекциях: db.mycollection.remove()

До Удалить коллекцию : db.mycollection.drop()

до Удалить базу данных : сначала перейти к этой базе данных с помощьюuse mydb команда, а затем

db.dropDatabase()

непосредственно из командной строки или проблеск: mongo mydb --eval "db.dropDatabase()

18 голосов
/ 09 сентября 2013

Другой способ:

echo "db.dropDatabase()" | mongo <database name>
15 голосов
/ 27 октября 2013

Выполнить в терминале:

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.
11 голосов
/ 18 октября 2017

Откройте другое окно терминала и выполните следующие команды,

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 все еще используется, поэтому при вставке любого ввода в это время база данных снова будет инициализирована.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...