参考 > 参考 > mongo Shell方法 > 收集方法 > db.collection.dropIndex()
db.collection.
dropIndex
(索引)¶mongo
壳法
此页面记录了mongo
shell方法,并且
没有引用MongoDB Node.js驱动程序(或任何其他驱动程序)方法。对于相应的MongoDB驱动程序API,请改为参考您特定的
MongoDB驱动程序文档。
从集合中删除或删除指定的索引。该
db.collection.dropIndex()
方法为dropIndexes
命令提供了包装。
注意
_id
字段上删除默认索引。db.collection.dropIndex("*")
删除所有非_id
索引。使用
db.collection.dropIndexes()
代替。该db.collection.dropIndex()
方法采用以下参数:
参数 | 类型 | 描述 |
---|---|---|
index |
字符串或文件 | 可选的。指定要删除的索引。您可以通过索引名称或索引规范文档指定索引。 要删除文本索引,请指定索引名称。 从MongoDB 4.2开始,您不能指定 |
要获取该方法的索引名或索引规范文档
db.collection.dropIndex()
,请使用该
db.collection.getIndexes()
方法。
从MongoDB 4.2开始,该dropIndex()
操作只会杀死正在删除索引的查询。这可能包括将索引视为查询计划一部分的
查询。
在MongoDB 4.2之前,删除集合上的索引将杀死该集合上的所有打开的查询。
在版本4.2中进行了更改。
db.collection.dropIndex()
在操作期间获得对指定集合的排他锁。集合上的所有后续操作都必须等到db.collection.dropIndex()
释放锁为止。
在MongoDB 4.2之前的版本中,db.collection.dropIndex()
获得了对父数据库的排他锁,从而阻止了对数据库及其所有集合的所有操作,直到操作完成。
考虑一个pets
集合。getIndexes()
在pets
集合上调用
方法将返回以下索引:
字段上的单个字段索引cat
具有用户指定的名称catIdx
[1]和索引指定文档为
。{ "cat" : -1 }
要删除索引catIdx
,可以使用索引名称之一:
或者您可以使用索引规范文档:{ "cat" : -1 }
[1] | 在创建索引期间,如果用户未
指定索引名称,则系统通过将索引键字段和值与下划线(例如下划线)连接来生成名称cat_1 。 |