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


当前回答

一行远程删除mongo数据库中的所有集合

注意必须使用——host, (-h为mongo命令的help), -d无选项,password后选择db和command。

mongo --host <mongo_host>:<mongo_port> -u <db_user> -p <db_pass> <your_db> --eval "db.dropDatabase()"

其他回答

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

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

您将使用<dbname>访问db。

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

db.dropDatabase()

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

> use mydb; 
> db.dropDatabase();

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

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

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

创建drop_bad.js:

use bad;
db.dropDatabase();

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

mongo < drop_bad.js

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

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

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

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

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