drop
定义
drop
的
drop
命令从一个数据库中删除整个集合。
兼容性
此命令可在以下环境中托管的部署中使用:
MongoDB Atlas:适用于云中MongoDB部署的完全托管服务
注意:
此命令在所有MongoDB Atlas集群中均受支持。有关Atlas对所有命令的支持信息,请参阅不受支持的命令。
MongoDB Enterprise:基于订阅的自托管MongoDB版本
MongoDB Community:开源、免费使用且自托管的MongoDB版本
语法
该命令具有以下语法
db.runCommand( { drop: <collection_name>, writeConcern: <document>, comment: <any> } )
命令字段
该命令包含以下字段
字段 | 描述 |
---|---|
drop | 要删除的集合名称。 |
writeConcern | 可选。一个文档,表示 在分片集群上发出时, |
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()
方法将返回错误。要删除这些集合,请连接到配置服务器并在那里运行该命令。警告
在管理员数据库或配置数据库中删除集合可能会导致您的集群处于不可用状态。