文档菜单
文档首页
/
MongoDB 手册
/ / /

drop

本页内容

  • 定义
  • 兼容性
  • 语法
  • 命令字段
  • 行为
drop

drop 命令从一个数据库中删除整个集合。

提示

mongosh 中,此命令也可以通过drop() 辅助方法执行.

辅助方法对 mongosh 用户来说很方便,但它们可能不会返回与数据库命令相同级别的信息。在不需要方便或需要额外的返回字段的情况下,请使用数据库命令。

此命令可在以下环境中托管的部署中使用:

  • MongoDB Atlas:适用于云中MongoDB部署的完全托管服务

注意:

此命令在所有MongoDB Atlas集群中均受支持。有关Atlas对所有命令的支持信息,请参阅不受支持的命令。

该命令具有以下语法

db.runCommand(
{
drop: <collection_name>,
writeConcern: <document>,
comment: <any>
}
)

该命令包含以下字段

字段
描述
drop
要删除的集合名称。
writeConcern

可选。一个文档,表示drop命令的写入关注。省略以使用默认写入关注。

在分片集群上发出时,mongosdrop命令及其辅助db.collection.drop()的写入关注转换为"majority"

comment

可选。用户提供的附加到此命令的注释。一旦设置,此注释将出现在以下位置的此命令记录旁边

注释可以是任何有效的 BSON 类型(字符串、整数、对象、数组等)。

mongosh 提供了等价的辅助方法 db.collection.drop()

  • 从 MongoDB 5.0 开始,如果传入未识别的参数,drop 命令和 db.collection.drop() 方法将引发错误。

  • 此命令还会删除与已删除集合关联的任何索引。

  • db.collection.drop() 方法及其辅助的 drop 命令在删除集合之前会中止目标集合上正在进行的索引构建。

    对于副本集或分片副本集,中止主副本上的索引不会同时中止次级索引构建。MongoDB 尝试中止在 主副本 上指定的索引的正在进行的构建,如果成功,则创建相关的 abort 操作日志条目。具有复制的正在进行的构建的 次级 成员在提交或中止索引构建之前会等待来自主副本的提交或中止操作日志条目。

  • drop 命令及其辅助的 db.collection.drop() 方法会为在已删除集合上打开的任何 使无效更改流

  • 删除集合将删除其关联的区域/标签范围。

  • 从MongoDB 5.0开始,如果你尝试从管理员数据库配置数据库中删除集合,drop命令和db.collection.drop()方法将返回错误。要删除这些集合,请连接到配置服务器并在那里运行该命令。

    警告

    在管理员数据库或配置数据库中删除集合可能会导致您的集群处于不可用状态。

drop在操作期间对指定的集合获取独占锁。集合上的所有后续操作必须等待drop释放锁。

返回

currentOp