首页 > 解决方案 > 从 Bash 脚本中删除 MongoDB 数据库

问题描述

我不是 Bash/Linux 人,但我被要求提出运行以对数据库进行身份验证然后删除它所需的行。这是我到目前为止所拥有的,我不确定它是否正确:

mongo mydatabase –port –username <username> –password <password> –authenticationDatabase admin –eval “ printjson(db.dropDatabase())”

如果可以使用一行来删除名称以“cpt_”开头的任何数据库,那将是绝对理想的。

谢谢!

标签: mongodbbash

解决方案


您可以使用 -

  • 获取所有名称
  • 循环并检查名称是否以cpt_
  • 删除数据库

db.getMongo().getDBNames().forEach(function(dbName){ if (dbName.startsWith('cpt_')) printjson(db.getSiblingDB(dbName).dropDatabase())

满的

mongo –port –username <username> –password <password> –authenticationDatabase admin --eval "db.getMongo().getDBNames().forEach(function(dbName){ if (dbName.startsWith('cpt_')) printjson(db.getSiblingDB(dbName).dropDatabase())  })"

推荐阅读