MongoDB数据库与集合删除操作方法详解

 更新时间:2025年10月29日 09:43:38   作者:Seal^_^  
MongoDB是一款开源的文档型数据库管理系统,属于非关系型数据库范畴,这篇文章主要介绍了MongoDB数据库与集合删除操作方法的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下

1. MongoDB 数据删除架构总览

2. 数据库删除详解

2.1 删除数据库流程图

2.2 数据库删除步骤

  1. 确认当前数据库

    db  // 显示当前数据库
    
  2. 切换到目标数据库

    use db_to_delete
    
  3. 执行删除命令

    db.dropDatabase()
    
  4. 验证删除结果

    show dbs
    

2.3 删除示例

// 查看所有数据库
> show dbs
admin      240.00 KiB
config     108.00 KiB
local       80.00 KiB
mytest_db   16.00 KiB


// 切换到目标数据库
> use mytest_db   
switched to db mytest_db   

// 删除数据库
> db.dropDatabase()
{ "dropped" : "mytest_db", "ok" : 1 }

// 验证删除
> show dbs
admin      240.00 KiB
config     108.00 KiB
local       80.00 KiB

3. 集合删除详解

3.1 集合删除流程图

3.2 集合删除步骤

  1. 查看数据库中的集合
    show collections
    

  1. 执行删除命令

    db.collection_name.drop()
    
  2. 验证删除结果

    show collections
    

3.3 删除示例

// 创建测试集合
> db.createCollection("products")
{ "ok" : 1 }

// 查看集合
> show collections
products

// 删除集合
> db.products.drop("products")
true

// 验证删除
> show collections
> 

4. 删除操作对比

特性dropDatabasedrop
作用范围整个数据库单个集合
删除内容所有集合+元数据文档+索引
执行速度较慢较快
锁级别数据库锁集合锁
返回结果{dropped: “db_name”, ok: 1}true/false
恢复可能需要备份需要备份

5. 删除前的安全检查

安全检查清单:

  1. 确认数据库/集合名称
  2. 检查应用程序依赖
  3. 验证用户权限
    db.runCommand({connectionStatus: 1}).authInfo.authenticatedUserPrivileges
    
  4. 确保有最新备份

6. 高级删除场景

6.1 条件删除文档

// 删除所有匹配文档
db.orders.deleteMany({status: "cancelled"})

// 删除单个匹配文档
db.orders.deleteOne({_id: ObjectId("...")})

6.2 删除系统集合

// 删除system.profile集合(需在admin库)
use admin
db.setProfilingLevel(0)
db.system.profile.drop()

6.3 使用mongodump备份后删除

# 先备份
mongodump --db sales --out /backup/

# 再删除
mongosh --eval "use sales; db.dropDatabase()"

7. 删除操作监控

7.1 查看删除操作

// 查看当前操作
db.currentOp({
  "op": "command",
  "command.drop": {$exists: true}
})

7.2 审计日志配置

# mongod.conf
auditLog:
  destination: file
  format: JSON
  path: /var/log/mongodb/audit.json
  filter: '{ atype: "dropCollection" }'

8. 故障恢复方案

8.1 误删恢复流程

8.2 常用恢复命令

# 从备份恢复整个数据库
mongorestore --db sales /backup/sales/

# 恢复特定集合
mongorestore --db sales --collection orders /backup/sales/orders.bson

9. 最佳实践建议

  1. 删除前双重确认

    // 确认数据库大小
    db.stats()
    
    // 确认集合文档数
    db.products.countDocuments()
    
  2. 生产环境防护

    // 禁止危险操作(开发环境)
    db.adminCommand({
      setParameter: 1,
      disableDropDatabase: 1
    })
    
  3. 自动化备份策略

    # 每日定时备份
    0 2 * * * mongodump --out /backup/$(date +\%Y\%m\%d)
    
  4. 权限控制

    // 创建专用管理用户
    use admin
    db.createUser({
      user: "dbadmin",
      pwd: "securepassword",
      roles: ["dbAdminAnyDatabase"]
    })
    

通过本文的全面介绍,您应该已经掌握了MongoDB中数据库和集合删除的所有关键知识。请始终记住:删除操作是不可逆的,执行前务必备份重要数据并确认操作对象!

总结

到此这篇关于MongoDB数据库与集合删除操作方法的文章就介绍到这了,更多相关MongoDB数据库与集合删除内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • MongoDB 查询操作的实例详解

    MongoDB 查询操作的实例详解

    这篇文章主要介绍了MongoDB 查询操作的实例的相关资料,希望通过本文能帮助到大家,需要的朋友可以参考下
    2017-09-09
  • MongoDB中查询(find操作符)详细指南

    MongoDB中查询(find操作符)详细指南

    MongoDB是领先的NoSQL数据库之一,以其快速的性能,灵活的模式,可伸缩性和强大的索引功能而闻名,下面这篇文章主要给大家介绍了关于MongoDB中查询(find操作符)的相关资料,需要的朋友可以参考下
    2023-04-04
  • mongodb数据库迁移变更的解决方案

    mongodb数据库迁移变更的解决方案

    众所周知mongodb数据库是一个非关系类型的数据,有着非常灵活和高性能的特点得到了开发者的喜爱,这篇文章主要给大家介绍了关于mongodb数据库迁移变更的相关资料,需要的朋友可以参考下
    2021-09-09
  • MongoDB 内存管理相关总结

    MongoDB 内存管理相关总结

    这篇文章主要介绍了MongoDB 内存管理的相关资料,帮助大家更好的理解和学习使用MongoDB数据库,感兴趣的朋友可以了解下
    2021-03-03
  • MongoDB 中聚合统计计算--$SUM表达式

    MongoDB 中聚合统计计算--$SUM表达式

    这篇文章主要介绍了MongoDB 中聚合统计计算--$SUM表达式的相关知识,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-08-08
  • Linux服务器下MariaDB 10自动化安装部署

    Linux服务器下MariaDB 10自动化安装部署

    这篇文章主要介绍了Linux服务器下MariaDB 10自动化安装部署,需要的朋友可以参考下
    2016-08-08
  • MongoDB与MySQL的操作对比表及区别介绍

    MongoDB与MySQL的操作对比表及区别介绍

    这篇文章主要介绍了MongoDB与MySQL的操作对比表及区别介绍,本文着重讲解了Mongodb与Mysql的操作命令的对比,需要的朋友可以参考下
    2015-05-05
  • windows安装mongodb6.x并设置用户名密码的详细过程

    windows安装mongodb6.x并设置用户名密码的详细过程

    这篇文章主要介绍了windows安装mongodb6.x并设置用户名密码,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-04-04
  • Mongodb启动报错完美解决方案:about to fork child process,waiting until server is ready for connections.

    Mongodb启动报错完美解决方案:about to fork child pr

    在使用命令行启动 MongoDB 的时候报错:about to fork child process, waiting until server is ready for connections.forked process: 50411,造成这个报错的原因是 “MongoDB” 服务没有正常的关闭,在终端连接非正常断开后,再次执行 MongoDB 的时候报错
    2023-04-04
  • 深入了解MongoDB是如何存储数据的

    深入了解MongoDB是如何存储数据的

    MongoDB是一个可扩展、高性能的分布式文档存储数据库,由C 语言编写,下面这篇文章主要给大家介绍了关于MongoDB是如何存储数据的相关资料,文中介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2017-07-07

最新评论