如何使用正则表达式删除多个集合
假设我有一堆藏品
user_r1
user_milk_r3
user_cat_r4
...
如何删除名称以用户
开头的所有收藏集所以我可以通过以下命令
来完成分贝[/用户_ * /]。降()
答案 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();
}
});