mongodb - 如何获取名称与正则表达式模式匹配的集合列表并删除它们
问题描述
我有一个包含很多集合的数据库,其中一些是根据日期命名的,yyyy-mm-dd。我想删除与日期模式匹配的每一个。
mongo shell 帮助没有提供太多指导,我发现的只是show collections
但没有允许通配符。
db.getCollectionNames()
返回一个数组,但我不确定如何在其上过滤和执行命令。哦,为了一个find -name -exec
解决方案
使用过滤器中的箭头函数进行匹配,使用 forEach 进行删除。
use mydb;
db.
getCollectionNames().
filter( c => c.match("^\\d{4}-\\d{2}-\\d{2}$")).
forEach(function(c){db[c].drop()})
推荐阅读
- python - Python a, b = b, a 在交换数组中的元素时给出错误的结果
- model - PROMELA:这会是死锁的例子吗?
- typo3 - 使用新操作扩展扩展
- c++ - 需要在 cpp 文件中为一种类型而不是另一种类型指定 std:: 命名空间
- laravel - 命名路由即使不存在也总是返回 true
- pyspark - 一个关于 tf-idf 使用 pyspark 的概念问题
- c++ - 检查 KeyPoint 是否为 NULL
- c++ - C ++在不同的地方编译文件
- javascript - 我的编码文件中的链接不起作用
- oracle - Visual Studio 2017 - 数据连接 - 添加 Oracle DB