Как удалить базу данных 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 для таких вещей, если вам нужна более сложная последовательность команд.


иначе:

echo "db.dropDatabase()" | mongo <database name>

вот некоторые операции полного удаления для 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();