【问题标题】:Need to delete mongodb collection with prefix based name需要删除基于前缀名称的 mongodb 集合
【发布时间】:2017-08-11 07:12:42
【问题描述】:

我的 mongodb 中有多个集合。

集合名称如 aaa_123,aaa_345,aaa_ccc,mmm,nnn 等...

许多集合名称都以 aaa_ 为前缀,并且还存在其他集合名称,我只需要删除以 aaa_ 为前缀的集合名称,但在手动中我删除了 db.aaa_123.drop(),它需要很长时间才能删除collection , mongodb 中是否有删除所有前缀为 aaa_ 的集合?

任何帮助表示赞赏..

【问题讨论】:

  • db.getCollectionInfos({ "name": /^aaa/ }).forEach( i => db.getCollection(i.name).drop() )
  • 是的,它的工作正常,正如我所料

标签: mongodb


【解决方案1】:

首先将数据库中的所有集合获取到一个变量,然后遍历该变量并检查集合中的该名称。如果该检查条件满足删除该集合。查看下面的代码示例

var collectionNames = db.getCollectionNames();
for(var i = 0, len = collectionNames.length; i < len ; i++){
    var collectionName = collectionNames[i];
    if(collectionName.indexOf('aaa_') == 0){
        db[collectionName].drop()
    }
}

希望对你有帮助

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-12-14
    • 1970-01-01
    • 1970-01-01
    • 2018-10-08
    • 2017-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多