You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何批量删除符合特定条件的MongoDB数据库

MongoDB批量筛选删除数据库操作方案

操作前请确认你已拥有MongoDB的管理员权限,且提前完成全量数据备份,库删除操作不可回滚。

步骤1:预览待删除数据库列表

先执行以下命令筛选出所有名称包含recommend的数据库,核对列表确认没有需要保留的资源:

// 输出所有符合筛选条件的数据库名
db.adminCommand('listDatabases').databases
  .map(dbItem => dbItem.name)
  .filter(dbName => dbName.includes('recommend'))

步骤2:执行批量删除

确认列表无误后执行以下脚本完成批量删除,脚本默认跳过admin、local、config三个系统内置库,避免影响MongoDB集群正常运行:

db.adminCommand('listDatabases').databases.forEach(dbItem => {
    const dbName = dbItem.name
    // 匹配规则可按需修改
    if (!dbName.includes('recommend')) return
    // 跳过系统库
    if (['admin', 'local', 'config'].includes(dbName)) return
    // 执行删库
    db.getSiblingDB(dbName).dropDatabase()
    print(`Successfully dropped database: ${dbName}`)
})

自定义筛选规则

如果需要调整匹配规则,修改if (!dbName.includes('recommend'))对应的判断逻辑即可,比如:

  • 匹配名称前缀为recommend_的库:if (!dbName.startsWith('recommend_'))
  • 用正则匹配名称后缀为_recommend的库:if (!/recommend$/.test(dbName))

警告:每次修改匹配规则后,都需要先重新执行步骤1的预览命令,确认待删除列表正确后再执行删除操作。

内容的提问来源于stack exchange,提问作者LF-DevJourney

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 04:36:04