mongodb - 从 Bash 脚本中删除 MongoDB 数据库
问题描述
我不是 Bash/Linux 人,但我被要求提出运行以对数据库进行身份验证然后删除它所需的行。这是我到目前为止所拥有的,我不确定它是否正确:
mongo mydatabase –port –username <username> –password <password> –authenticationDatabase admin –eval “ printjson(db.dropDatabase())”
如果可以使用一行来删除名称以“cpt_”开头的任何数据库,那将是绝对理想的。
谢谢!
解决方案
您可以使用 -
- 获取所有名称
- 循环并检查名称是否以
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()) })"
推荐阅读
- php - 在php中合并数组时删除重复键
- python - 有人可以帮我概述一下这段代码吗?
- mysql - 使用 MySQLShell 登录远程 MySQL 服务器
- flutter - 在列内生成选择芯片列表
- h2 - 设置 schema_search_path 不适用于 h2 中的序列
- c - 为什么我从教程中得到不同的结果
- node.js - 当 npm audit fix --force 失败时如何修复这个 Ionic3.x package.json?
- opengl - 为什么在 Rust 中管理 OpenGL 需要不安全的代码?
- c - 检查给定的 IP 是否在给定的网络范围内或不在 C 中
- mysql - 为什么在执行执行任何查询的 mysql 命令时出现“mysql:未知选项'-▒'”错误?