Docs 菜单
Docs 主页
/
MongoDB Manual
/ / /

删除

在此页面上

  • 定义
  • 兼容性
  • 语法
  • 命令字段
  • 行为
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 oplog 条目。节点如果有正在进行的构建的副本,则在提交或中止索引构建之前会等待来自主节点的提交或中止 oplog 条目。

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

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

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

    警告

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

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

后退

currentOp