使用正则表达式删除MongoDB集合

jar*_*daf 7 mongodb

可能吗?我有自动生成的mongoDB集合,在某个时刻我需要丢弃.我知道他们的收藏品名称模式太多了,所以不能选择手工丢弃它们.我使用正则表达式查看的所有示例都涉及查询但不涉及数据库命令.我知道我可以迭代所有集合并按名称过滤我可以使它工作但我正在寻找一个更方便的单一命令(我想直接在shell中使用它),如果可能的话:)

有什么建议?

谢谢!

Leo*_*tny 15

您可以使用MongoDB控制台执行此操作:

regExp = /test/;
db.getCollectionNames().filter(function(name){
  return name.match(regExp)
}).forEach(function(name){
  db.getCollection(name).drop()
});
Run Code Online (Sandbox Code Playgroud)

您可以使用任何正则表达式来匹配您的集合名称.


mmm*_*reg 5

db.getCollectionNames().forEach(function(c) {
    if(c.match("^system.indexes")) { 
        db.getCollection(c).drop();
    }
  });
Run Code Online (Sandbox Code Playgroud)