我重新组织了我的数据库结构,不再需要某些集合。但是有太多的集合需要手动删除(实际上有数千个)。这些集合中每个都以“cache_”开头,并包含一对索引,我希望确保完全清理。
我正在尝试理解如何使用Mongo shell循环遍历所有集合名称,并删除以“cache_”开头的那些集合。根据查询和游标文档,我了解如何循环遍历集合中的文件,但不知道如何使用MongoDB shell循环遍历数据库中的集合。
伪代码如下:
var all_collections = show collections
for(var collection in all_collections)
if(collection.name.indexOf('cache_')==0)
collection.drop()
顺便说一句,我已经搜索了“mongodb遍历集合名称”等内容,但是没有找到任何东西,也许我不太会用谷歌=P
另外...在进行这种程度的重组之后,我应该执行db.repairDatabase()
或类似的操作来确保删除的索引等都很干净整洁吗?
谢谢。
var collections = ['collection1','collection2'] collections.forEach(function(coll_name){ print(coll_name) db[coll_name].drop() })
- Abhijeet