如何从命令行删除MongoDB数据库?

时间:2012-01-13 21:11:41

标签: mongodb

从我的bash提示符中执行此操作的最简单方法是什么?

20 个答案:

答案 0 :(得分:1036)

像这样:

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

有关在命令行编写shell脚本的更多信息,请访问:https://docs.mongodb.com/manual/tutorial/write-scripts-for-the-mongo-shell/#scripting

答案 1 :(得分:829)

最好的方法是从mongodb控制台:

> use mydb; 
> db.dropDatabase();

或者,您可以停止mongod并从数据目录中删除数据文件,然后重新启动。

提示:您也可以将数据文件移动到子文件夹,如果您确定不再需要它们,则将其删除。

答案 2 :(得分:112)

您不需要heredocs或eval mongo本身可以充当翻译。

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

使文件可执行并运行它。

答案 3 :(得分:110)

我发现这很容易记住:

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 }

答案 4 :(得分:31)

启动MongoDB

数据库删除命令是:

1。首先选择要删除的数据库

use < database name >

2. 然后使用此..

db.dropDatabase()

答案 5 :(得分:28)

你也可以使用“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来做这样的事情,以防你需要更复杂的命令序列。

答案 6 :(得分:18)

其他方式:

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

答案 7 :(得分:18)

以下是一些使用mongo shell

的mongodb的完全删除操作

在馆藏中删除特定文件db.mycollection.remove( {name:"stack"} )

要收藏集合中的删除所有文档db.mycollection.remove()

删除集合db.mycollection.drop()

删除数据库: 首先通过use mydb命令转到该数据库,然后

db.dropDatabase()

直接从命令提示符或blash:mongo mydb --eval "db.dropDatabase()

答案 8 :(得分:15)

在终端执行:

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.

答案 9 :(得分:11)

打开另一个终端窗口并执行以下命令,

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仍在使用中,因此此时插入任何输入将再次初始化数据库。

答案 10 :(得分:4)

使用Javascript,您可以轻松创建 drop_bad.js 脚本来删除数据库:

创建 drop_bad.js

use bad;
db.dropDatabase();

在终端中运行1命令以使用mongo shell来执行脚本:

mongo < drop_bad.js

答案 11 :(得分:3)

尽管有多种方法,但最好的方法(最有效和最简单)是使用db.dropDatabase()

答案 12 :(得分:1)

令人惊讶的是我们还没有看到这种变化。这样可以最大程度地减少命令行上的额外参数,并明确显示将DB切换到FOO然后删除的情况:

$ mongo --host "mongodb://machine:port" --eval 'db.getSiblingDB("FOO").dropDatabase();'

答案 13 :(得分:0)

在命令提示符中,首先使用以下命令连接到mongodb:

mongo -h [host-name]:[port:number] -d [dbname] -u [username] -p [password]

您将使用<dbname>访问数据库。

运行以下命令以删除整个数据库:

db.dropDatabase()

答案 14 :(得分:0)

登录到mongoDB命令行: 并键入以下命令。 使用“ YOUR_DATABASE_NAME”; db.dropDatabase();

答案 15 :(得分:0)

一个划线员遥控器从mongo数据库中删除所有集合

注意必须使用--host,(-h是mongo命令的帮助),并且-d不是选项,请在密码后选择db和命令。

composer require

答案 16 :(得分:0)

使用python拖放MongoDB数据库:

import argparse

import pymongo


if __name__ == "__main__":
    """
    Drop a Database.
    """

    parser = argparse.ArgumentParser()
    parser.add_argument("--host", default='mongodb://localhost:27017',
                        help="mongodb URI [default: %(default)s]")
    parser.add_argument("--database", default=None,
                        help="database name: %(default)s]")

    args = parser.parse_args()

    client = pymongo.MongoClient(host=args.host)

    if args.database in client.list_database_names():
        client.drop_database(args.database)
        print(f"Dropped: '{args.database}'")
    else:
        print(f"Database '{args.database}' does not exist")

答案 17 :(得分:0)

打开一个终端并输入:

mongo 

以下命令应显示列出的数据库:

show dbs 

/* the <dbname> is the database you'd like to drop */
use <dbname> 

/* the below command will delete the database */
db.dropDatabase()  

以下应该是终端中的输出:

{
  "dropped": "<dbname>",
  "ok": 1
}

答案 18 :(得分:-1)

使用mongo shell中的以下命令删除db

  

使用;   db.dropDatabase();

答案 19 :(得分:-1)

db 将显示当前数据库名称 类型: db.dropDatabase();

1-使用' use '关键字选择要删除的数据库。

2-然后输入 db.dropDatabase();