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


当前回答

Use

[databaseName]
db.Drop+databaseName();

drop collection 

use databaseName 
db.collectionName.drop();

其他回答

在蒙戈壳里:

use [database];
db.dropDatabase();

并删除用户:

db.dropAllUsers();

如果你只想删除一个数据库和它的子集合,使用这个:

使用<数据库名称>; db.dropDatabase ();

如果你想删除mongo中的所有数据库,请使用以下命令:

db.adminCommand("listDatabases").databases.forEach(function(d)
             {
              if(d.name!="admin" && d.name!="local" && d.name!="config")
                {
                 db.getSiblingDB(d.name).dropDatabase();
                }
             }
          );

Use

[databaseName]
db.Drop+databaseName();

drop collection 

use databaseName 
db.collectionName.drop();

同样,在命令行中:

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

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

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