On this page本页内容
db.collection.
dropIndexes
()¶mongo
Shell Method方法
This page documents the 本页记录了mongo
shell method, and does not refer to the MongoDB Node.js driver (or any other driver) method. mongo
shell方法,未提及MongoDB Node.js驱动程序(或任何其他驱动程序)方法。For corresponding MongoDB driver API, refer to your specific MongoDB driver documentation instead.有关相应的MongoDB驱动程序API,请参阅特定的MongoDB驱动程序文档。
Drops the specified index or indexes (except the index on the 从集合中删除指定的一个或多个索引(除了_id
field) from a collection._id
字段上的索引)。
You can use the method to:您可以使用该方法:
_id
index from a collection._id
索引以外的所有索引。
Tip
To get the names of the indexes, use the 要获取索引的名称,请使用db.collection.getIndexes()
method.db.collection.getIndexes()
方法。
If the array of index names includes a non-existent index, the method errors without dropping any of the specified indexes.如果索引名数组包含不存在的索引,则该方法将在不删除任何指定索引的情况下出错。
Tip
To get the names of the indexes, use the 要获取索引的名称,请使用db.collection.getIndexes()
method.db.collection.getIndexes()
方法。
The db.collection.dropIndexes()
method takes the following optional parameter:db.collection.dropIndexes()
方法采用以下可选参数:
indexes |
|
The db.collection.dropIndexes()
is a wrapper around the dropIndexes
command.db.collection.dropIndexes()
是dropIndexes
命令的包装器。
Changed in version 4.2.在版本4.2中更改。
db.collection.dropIndexes()
obtains an exclusive lock on the specified collection for the duration of the operation. db.collection.dropIndexes()
在操作期间获取指定集合的独占锁。All subsequent operations on the collection must wait until 集合上的所有后续操作都必须等待db.collection.dropIndexes()
releases the lock.db.collection.dropIndexes()
释放锁。
Prior to MongoDB 4.2, 在MongoDB 4.2之前,db.collection.dropIndexes()
obtained an exclusive lock on the parent database, blocking all operations on the database and all its collections until the operation completed.db.collection.dropIndexes()
获得了父数据库的独占锁,阻止了对数据库及其所有集合的所有操作,直到操作完成。
If the method is passed an array of index names that includes a non-existent index, the method errors without dropping any of the specified indexes.如果向该方法传递了一个包含不存在索引的索引名数组,则该方法将在不删除任何指定索引的情况下出错。
_id
You cannot drop the default index on the 不能删除_id
field._id
字段上的默认索引。
To drop a text index, specify the index name instead of the index specification document.要删除text索引,请指定索引名称,而不是索引规范文档。
New in version 4.4:4.4版中新增:If an index specified to 如果指定给db.collection.dropIndexes()
is still building, dropIndexes()
attempts to abort the in-progress build. db.collection.dropIndexes()
的索引仍在生成中,dropIndexes()
会尝试中止正在进行的生成。Aborting an index build has the same effect as dropping the built index. 中止索引生成与删除生成的索引具有相同的效果。Prior to MongoDB 4.4, 在MongoDB 4.4之前,如果集合有任何正在生成的索引,dropIndexes()
would return an error if the collection had any in-progress index builds.dropIndexes()
将返回错误。
For replica sets, run 对于副本集,请在primary上运行dropIndexes()
on the primary. dropIndexes()
。The primary aborts the index build and creates an associated “abortIndexBuild” oplog entry. 主程序中止索引生成并创建关联的“abortIndexBuild”oplog条目。Secondaries which replicate the “abortIndexBuild” oplog entry abort the in-progress index build and discard the build job. 复制“abortIndexBuild”oplog条目的二级数据库将中止正在进行的索引生成并放弃生成作业。See Index Build Process for detailed documentation on the index build process and the specific timing for terminating an in-progress index build.有关索引生成过程以及终止正在进行的索引生成的具体时间安排的详细文档,请参阅索引生成过程。
The indexes specified to 指定给dropIndexes()
must be the entire set of in-progress builds associated to a single createIndexes
or db.collection.createIndexes()
operation. dropIndexes()
的索引必须是与单个createIndexes
或db.collection.createIndexes()
操作关联的整个正在进行的生成集。To drop a specific index out of a set of related in-progress builds, wait until the index builds complete and specify that index to 要从一组相关的正在进行的生成中删除特定索引,请等待索引生成完成,然后将该索引指定给dropIndexes()
dropIndexes()
For example, a 例如,createIndexes
/ createIndexes()
operation creates three indexes. createIndexes
/ createIndexes()
操作会创建三个索引。Assuming all three index builds are in-progress, 假设所有三个索引生成都在进行中,dropIndexes()
must specify all three indexes to abort the index builds and drop the indexes.dropIndexes()
必须指定所有三个索引以中止索引生成并删除索引。
Use 使用currentOp
to identify the index builds associated to a createIndexes
/ createIndexes()
operation. currentOp
标识与createIndexes
/ createIndexes()
操作关联的索引生成。See Active Indexing Operations for an example.有关示例,请参阅活动索引操作。