从bash提示符中最简单的方法是什么?


当前回答

很惊讶我们没有看到这种变化。这样可以最小化命令行上的额外参数,并显式地显示DB被切换到FOO,然后被删除:

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

其他回答

是这样的:

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

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

使用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")

为了确保你放弃了正确的数据库使用

mongo <connection properties> --eval "db.getSiblingDB('dbname').dropDatabase()" 

在尝试保存到mongodb时,请参阅身份验证失败以了解问题。

使用Javascript,你可以很容易地创建drop_bad.js脚本来删除你的数据库:

创建drop_bad.js:

use bad;
db.dropDatabase();

然后在终端上用mongo shell命令执行脚本:

mongo < drop_bad.js

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

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

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