我在MongoDB上做开发。出于完全无害的目的,我有时想要删除数据库中的所有内容——也就是说,删除每一个集合,以及周围可能存在的任何其他内容,然后从头开始。是否有一行代码可以让我这样做?同时提供MongoDB控制台方法和MongoDB Ruby驱动程序方法的额外好处。


当前回答

同样,在命令行中:

mongo DATABASE_NAME --eval "db.dropDatabase();"

其他回答

如果你需要立即删除所有数据库:(立即删除所有数据库)

mongo --quiet --eval 'db.getMongo().getDBNames().forEach(function(i){db.getSiblingDB(i).dropDatabase()})'

同样,在命令行中:

mongo DATABASE_NAME --eval "db.dropDatabase();"
db.getCollectionNames().forEach(c=>db[c].drop())

列出所有可用的dbs show dbs 选择必要的数据库 使用 删除数据库 db.dropDatabase () //很少额外的命令 列出数据库中所有可用的集合 显示集合 删除一个规范集合 db.collection.drop ()

希望这能有所帮助

use <dbname>
db.dropAllUsers()
db.dropAllRoles()
db.dropDatabase()

MongoDB db.dropDatabase()文档解释了2.6中引入的修改:

在2.6版更改:此命令不会删除与当前数据库关联的用户。