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利用oplog恢复数据的方法

    MongoDB利用oplog恢复数据的方法

    这篇文章主要介绍了MongoDB利用oplog恢复数据的方法,当我们对数据出现误操作的时候,可以利用oplog恢复数据,下文操作过程需要的小伙伴可以参考一下
    2022-04-04
  • Windows下mongodb安装与配置三步走

    Windows下mongodb安装与配置三步走

    大家应该都知道mongodb是当下流行的非关系型数据库,特别是配合node使用,下面示范一下在Windows系统下如何安装和配置的,文中通过图文介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-03-03
  • MongoDB安装到windows服务的方法及遇到问题的完美解决方案

    MongoDB安装到windows服务的方法及遇到问题的完美解决方案

    这篇文章主要介绍了MongoDB安装到windows服务的方法及遇到问题的完美解决方案,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2016-11-11
  • MongoDB副本集部署完整教程

    MongoDB副本集部署完整教程

    本文主要介绍如何部署一个三成员MongoDB副本集,包括主节点和两个副本节点,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-09-09
  • MongoDB实现增删改查

    MongoDB实现增删改查

    本文详细讲解了MongoDB实现增删改查的方法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-04-04
  • MongoDB数据库与集合删除操作方法详解

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

    MongoDB是一款开源的文档型数据库管理系统,属于非关系型数据库范畴,这篇文章主要介绍了MongoDB数据库与集合删除操作方法的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2025-10-10
  • 为MongoDB数据库注册windows服务

    为MongoDB数据库注册windows服务

    这篇文章介绍了为MongoDB数据库注册windows服务的方法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-06-06
  • MongoDB数据库权限管理详解

    MongoDB数据库权限管理详解

    本文详细讲解了MongoDB数据库权限管理的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-07-07
  • Mongodb数组字段索引之多键索引

    Mongodb数组字段索引之多键索引

    Mongodb字段允许包含字符,文档,数组等各种各样的类型,同样Mongodb索引也可以支持字符,文档,数组等类型,本文结合Mongodb官方文档,介绍Mongodb数组类型数据的索引——多键索引,感兴趣的朋友跟随小编一起看看吧
    2024-07-07
  • 解决MongoDB 排序超过内存限制的问题

    解决MongoDB 排序超过内存限制的问题

    最近小编遇到这样的问题:对集合执行一个大排序操作(如聚合),出现以下错误:(测试版本:MongoDB 3.0.6),怎么快速解决此问题呢?下面小编给大家分享MongoDB 排序超过内存限制的解决方法,一起看看吧
    2017-07-07

最新评论