Какой самый простой способ сделать это из моей подсказки bash?
Вот так:
mongo <dbname> --eval "db.dropDatabase()"
Подробнее о скрипте оболочки из командной строки здесь: https://docs.mongodb.com/manual/tutorial/write-scripts-for-the-mongo-shell/#scripting
mongo <dbname> --eval "printjson(db.dropDatabase())"
Лучший способ сделать это - с консоли mongodb:
> use mydb;
> db.dropDatabase();
В качестве альтернативы вы можете остановить mongod
и удалить файлы данных из своего каталога данных, а затем перезапустить.
Подсказка: вы также можете переместить файлы данных в подпапку и удалить их, если вы уверены, что они вам больше не нужны.
use
команду use
в файле .js, вам нужно подключиться к конкретной БД (укажите dbname для команды mongo)
Вам не нужны heredocs или eval, mongo
сам может выступать в качестве интерпретатора.
#!/usr/bin/env mongo
var db = new Mongo().getDB("someDatabase");
db.dropDatabase();
Сделайте исполняемый файл и запустите его.
.js
, в противном случае оно будет интерпретироваться как адрес базы данных.
mongo filename
которое не нужно - в файле уже есть переводчик в верхней строке. Просто сделайте файл исполняемым и запустите его ./filename
Я нашел это легко запомнить:
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
Чтобы удалить определенный документ в коллекциях: db.mycollection.remove( {name:"stack"} )
Чтобы удалить все документы в коллекциях: db.mycollection.remove()
Чтобы удалить коллекцию: db.mycollection.drop()
чтобы удалить базу данных: сначала перейдите в эту базу данных с use mydb
команды use mydb
а затем
db.dropDatabase()
непосредственно из командной строки или blash: mongo mydb --eval "db.dropDatabase()
Другой способ:
echo "db.dropDatabase()" | mongo <database name>
Выполнить в терминале:
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 script, чтобы удалить свою базу данных:
создать drop_bad.js:
use bad;
db.dropDatabase();
Запустите команду 1 в терминале, чтобы вывести script с помощью оболочки mongo:
mongo < drop_bad.js
Несмотря на то, что существует несколько методов, лучший способ (наиболее эффективный и простой) - использовать db.dropDatabase()
Войдите в вашу командную строку mongoDB: и введите следующие команды. использование; db.dropDatabase();
В командной строке сначала подключитесь к mongodb, используя следующую команду:
mongo -h [host-name]:[port:number] -d [dbname] -u [username] -p [password]
вы будете обращаться к БД с <dbname>
.
Выполните следующую команду, чтобы удалить всю базу данных:
db.dropDatabase()
используйте следующую команду из оболочки Монго, чтобы сбросить дб
использование; db.dropDatabase();
> use auth-users ; db.dropDatabase()
и > use auth-users; db.dropDatabase()
и оба вернули [thread1] Error: [auth-users ; db.dropD atabase()] is not a valid database name :
Команда dropDatabase отбрасывает текущую базу данных, удаляя связанные файлы данных. Существует два способа сброса базы данных в MongoDB. Во-первых, если вы хотите сбросить базу данных погода из MongoDB. Чтобы сбросить базу данных, первое, что нужно сделать, - это переключиться на базу данных с помощью команды use и дать команду drop, как показано ниже.
использовать погоду
db.runCommand({dropDatabaase: 1})
Во-вторых, оболочка mongo также предоставляет вспомогательный метод db.dropDatabase(). Шаги такие же, как указано выше.
использовать погоду
db.dropDatabase()
Если вам нравится больше узнать об этом, пожалуйста, посмотрите http://docs.mongodb.org/manual/reference/command/dropDatabase/