3

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

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

我得到了以下信息:-

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

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

4

2 回答 2

2

你的命令应该有效

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

如果您在那之后访问 mongo

mongo -uuser -ppass newdb

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

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

你确定里面有所有的收藏吗?

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

mongo -uuser -ppass
> show dbs

“newdb”不应该出现。

我已经用 Mongo 2.4.2 对其进行了测试。

于 2014-03-21T07:41:17.050 回答
1

你可以试试这个:

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/

于 2014-03-21T06:51:35.447 回答