我已經重構了我的數據庫,不再需要某些集合。但是,其中有太多的數據需要手動移除(實際上有數千個)。每個有問題的集合都以「cache_」開頭,幷包含一些我想確保完全清理的索引。MongoDB:刪除名稱與字符串匹配的所有集合
我想了解如何使用mongo shell來遍歷所有集合名稱並刪除以「cache_」開頭的集合。根據Queries & Cursors documentation,我瞭解如何遍歷集合中的文檔,但不知道如何使用MongoDB shell循環訪問數據庫中的集合。
在僞代碼,這是我需要的:
var all_collections = show collections
for(var collection in all_collections)
if(collection.name.indexOf('cache_')==0)
collection.drop()
FWIW,我已經做了「通過集合名稱MongoDB的循環」搜索等,並沒有發現任何東西,但也許我在SUX teh googlez = P
在相關說明中......在完成這個重組程度之後,我應該做一個db.repairDatabase()
或者其他什麼類型的操作來確保刪除的索引等都很好,乾淨嗎?
謝謝。
FTW,謝謝。我想我不知道「show collections」=>「db.getCollectionNames();」 –
** db [collectionName] **是這裏的關鍵。 _Javascript對RoboMongo_ '變種集合= [ 'collection1', 'collection2'] collections.forEach(函數(coll_name){ 打印(coll_name) 分貝[coll_name] .drop() })' – Abhijeet