我对我的数据库进行了一些重组,不再需要某些集合.但是,有太多的东西要用手去除(实际上是数千个).每个有问题的集合都以"cache_"开头,并包含一些我想确保完全清理的索引.
我试图了解如何使用mongo shell来遍历所有集合名称并删除以"cache_"开头的集合.根据Queries和Cursors文档,我了解如何循环集合中的文档,而不是如何使用MongoDB shell循环遍历数据库中的集合.
在伪代码中,这就是我需要的:
var all_collections = show collections
for(var collection in all_collections)
if(collection.name.indexOf('cache_')==0)
collection.drop()
Run Code Online (Sandbox Code Playgroud)
FWIW,我已经完成了搜索"mongodb循环通过集合名称"等等,并没有找到任何东西,但也许我sux at teh googlez = P
在一个相关的说明...在进行这种程度的重组后,我应该做一个db.repairDatabase()或任何类型的事情,以确保丢弃的索引等都很好,干净?
谢谢.
ggr*_*ner 27
使用db.getCollectionNames()来获取所有集合,并将它们存储在数组中.
var collectionNames = db.getCollectionNames();
for(var i = 0, len = collectionNames.length; i < len ; i++){
var collectionName = collectionNames[i];
if(collectionName.indexOf('cache_') == 0){
db[collectionName].drop()
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12815 次 |
| 最近记录: |