MongoDb:如何使用shell使用身份验证删除数据库?

时间:2014-03-21 06:30:07

标签: mongodb mongo-shell

我有一个经过身份验证的用户,具有删除数据库所需的所有权限。我想从shell中删除数据库并尝试执行以下命令

mongo -uuser -ppass newdb --eval "db.dropDatabase();"

我得到了以下信息: -

MongoDB shell version: 2.4.9
connecting to: newdb
[object Object]

这就是我没有错误也没有结果。数据库仍然存在,包含所有值。

2 个答案:

答案 0 :(得分:1)

您的命令应该有效

mongo -uuser -ppass newdb --eval "db.dropDatabase();"

如果您在此之后使用

访问mongo
mongo -uuser -ppass newdb

数据库再次创建但是为空,所以当你说:

  

数据库仍然存在,包含所有值。

你确定里面有所有藏品吗?

要检查是否已删除,您可以执行以下操作:

mongo -uuser -ppass
> show dbs

不应出现“newdb”。

我用Mongo 2.4.2进行了测试。

答案 1 :(得分:0)

你可以试试这个:

mongo -u USER -p PASS --eval "db=db.getSiblingDB('DB_NAME');db.dropDatabase();"

参考: http://docs.mongodb.org/manual/tutorial/write-scripts-for-the-mongo-shell/