可以吗?我有自动生成的mongoDB集合,但在某个时刻需要将其删除。我知道它们的集合名称模式,但数量太多,手动删除不是一个选项。我查看过的所有示例都使用正则表达式进行查询而不是数据库命令。我知道可以遍历所有集合并按名称筛选来解决,但我正在寻找更方便和单一的命令(我希望直接在Shell中使用它),如果可能的话 :)。
有任何建议吗?
谢谢!
有任何建议吗?
谢谢!
您可以使用MongoDB控制台完成此操作:
regExp = /test/;
db.getCollectionNames().filter(function(name){
return name.match(regExp)
}).forEach(function(name){
db.getCollection(name).drop()
});
您可以使用任何正则表达式来匹配您的集合名称。
db.getCollectionNames().forEach(function(c) {
if(c.match("^system.indexes")) {
db.getCollection(c).drop();
}
});