我怎么能用正则表达式删除多个集合

时间:2015-06-16 06:40:10

标签: mongodb

如何使用正则表达式删除多个集合

假设我有一堆藏品

user_r1
user_milk_r3
user_cat_r4
...

如何删除名称以用户

开头的所有收藏集

所以我可以通过以下命令

来完成
  

分贝[/用户_ * /]。降()

2 个答案:

答案 0 :(得分:1)

您可以先使用 getCollectionNames() 方法获取数据库中的所有集合名称,然后使用正则表达式 filter() 获取数组,迭代过滤后的列表并删除:

var rgx = /user_*/,
    collections = db.getCollectionNames().filter(function(col){
        return col.match(rgx);
    });

collections.forEach(function(name){
    db.getCollection(name).drop();
});

答案 1 :(得分:0)

使用控制台,

var rgx = /user*/,
db.getCollectionNames().forEach(function(name) {
    if(name.match(rgx)) { 
        db.getCollection(name).drop();
    }
  });