Docs 菜单

Docs 主页开发应用程序MongoDB Manual

删除

在此页面上

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

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

提示

mongosh中,该命令也可以通过drop()辅助方法运行。

助手方法对于mongosh用户来说很方便,但它们返回的信息级别可能与数据库命令不同。如果不追求方便或需要额外的返回字段,请使用数据库命令。

该命令的语法如下:

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

该命令接受以下字段:

字段
说明
drop
要删除的集合的名称。
writeConcern

可选。表达 命令 写关注 drop的文档。省略以使用默认写关注。

在分片集群上发出时, 会将 命令及其帮助程序mongos dropdb.collection.drop() 写关注 转换为"majority"

comment

可选。用户提供的待附加到该命令的注释。设置后,该注释将与该命令的记录一起出现在以下位置:

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

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

  • 从 MongoDB 5开始。如果向0 、 drop命令和db.collection.drop()方法传递无法识别的参数,则会引发错误。

  • 此命令还会删除与删除的集合关联的所有索引。

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

    对于副本集或分片副本集,中止主节点上的索引不会同时中止从节点索引构建。MongoDB 尝试中止主节点上指定索引正在进行的构建。如果成功,则会创建关联的 abort oplog 条目。节点如果有正在进行的构建的副本,则在提交或中止索引构建之前会等待来自主节点的提交或中止 oplog 条目。

  • drop命令及其助手 为在删除的集合上打开的任何db.collection.drop() 变更流 创建 无效 。

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

  • 从 MongoDB5 0开始。如果您尝试从 删除 管理员数据库dropdb.collection.drop() 配置数据库 中的集合,则mongos 命令和 方法会返回错误。要删除这些集合,请连接到 配置服务器 并在其中运行命令。

    警告

    删除管理员数据库配置数据库中的集合会使集群处于不可用状态。

版本 4.2 中进行了更改

drop在操作期间获得指定集合的独占锁。对集合的所有后续操作都必须等到drop释放该锁。

MongoDB 4之前的版本。 2 、 drop获得了对父数据库的独占锁,阻止对数据库及其所有集合的所有操作,直到操作完成。

← currentOp