我在MongoDB上進行開發。 對於徹底非邪惡的目的,我有時想要吹掉數據庫中的全部東西 - 也就是說,刪除每個集合,以及其餘任何可能存在的東西,並從頭開始。 是否有一行代碼能夠讓我這樣作? 同時給出MongoDB控制檯方法和MongoDB Ruby驅動程序方法的加分點。 mongodb
另外,從命令行: shell
mongo DATABASE_NAME --eval "db.dropDatabase();"
使用 數據庫
[databaseName] db.Drop+databaseName(); drop collection use databaseName db.collectionName.drop();
聽到一些使用mongo shell的mongodb的徹底刪除操做 spa
要刪除集合中的特定文檔: db.mycollection.remove( {name:"stack"} )
命令行
要刪除集合中的全部文檔: db.mycollection.remove()
code
刪除集合: db.mycollection.drop()
開發
刪除數據庫:首先use mydb
命令轉到該數據庫而後 rem
db.dropDatabase()
當我須要重置全部集合但不想讓任何數據庫用戶失去時,我遇到了一樣的問題。 若是要保存數據庫的用戶配置,請使用如下代碼行: 文檔
use <whichever database> db.getCollectionNames().forEach(function(c) { if (c.indexOf("system.") == -1) db[c].drop(); })
此代碼將遍歷一個數據庫中的全部集合名稱,並刪除那些不以「system」開頭的集合。 get
若是要僅刪除數據庫及其子集合,請使用如下命令:
use <database name>;
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(); } } );