数据库操作 API
数据库级别的管理操作,包括列出数据库、删除数据库、列出集合等。
目录
- listDatabases() - 列出所有数据库
- dropDatabase() - 删除数据库(危险)
- listCollections() - 列出所有集合
- runCommand() - 执行任意命令
listDatabases()
列出 MongoDB 服务器上的所有数据库。
语法
参数
- options (Object, 可选):
nameOnly(boolean): 仅返回数据库名称,默认false
返回值
- 不使用 nameOnly:
Promise<Array<Object>>name(string): 数据库名称sizeOnDisk(number): 磁盘占用(字节)empty(boolean): 是否为空
- 使用 nameOnly:
Promise<Array<string>>
示例
dropDatabase()
⚠️ 危险操作:删除整个数据库,无法恢复!
安全机制
- 必须显式确认: 必须传入
{ confirm: true } - 生产环境保护: 生产环境默认禁止,需额外传入
{ allowProduction: true } - 审计日志: 所有删除尝试都会记录
语法
参数
- databaseName (string, 必需): 数据库名称
- options (Object, 必需):
confirm(boolean, 必需): 必须为trueallowProduction(boolean): 是否允许在生产环境执行,默认falseuser(string): 操作用户(用于审计)
返回值
- 类型:
Promise<Object> - 属性:
dropped(boolean): 是否删除成功database(string): 被删除的数据库名称timestamp(Date): 删除时间
示例
❌ 错误:未提供确认
✅ 正确:提供确认
⚠️ 生产环境:需要额外确认
错误处理
listCollections()
列出当前数据库中的所有集合。
语法
参数
- options (Object, 可选):
nameOnly(boolean): 仅返回集合名称,默认false
返回值
- 不使用 nameOnly:
Promise<Array<Object>> - 使用 nameOnly:
Promise<Array<string>>
示例
runCommand()
执行任意 MongoDB 命令。
语法
参数
- command (Object, 必需): MongoDB 命令对象
- options (Object, 可选): 命令选项
示例
相关文档
最后更新: 2025-12-02
版本: v0.3.0