带有通配符的Mongodb shell丢弃集合



我有一堆前缀相同的集合,例如data_user_1、data_user_2等。还有一些介于两者之间的收藏,我想保留和跳过。

所以我在寻找的解决方案

a( 删除所有排除特定b( 删除所有数据_用户_*

我搜索了文档,但似乎没有允许这些操作的参数。谢谢

不幸的是,没有这样的选项。

  1. 您可以使用getCollectionNames 检索所有可用的集合

  2. 然后,您可以检查包含/排除方案。

  3. 当条件匹配时,可以对其执行drop

我放弃了搜索,因为似乎没有"舒适的";方法所以我写了一个简短的脚本,它完全满足了要求(而且也很舒服^^(。

db.getCollectionNames().forEach(function(collname){
if(collname.includes('data_user')){ 
print('delete collection: ' + collname); 
db.getCollection(collname).drop()}
});

希望这也能帮助其他人。

最新更新