参考 > 参考 > mongo Shell方法 > 收集方法 > db.collection.dropIndexes()
db.collection.
dropIndexes
()¶mongo
壳法
此页面记录了mongo
shell方法,并且
没有引用MongoDB Node.js驱动程序(或任何其他驱动程序)方法。对于相应的MongoDB驱动程序API,请改为参考您特定的
MongoDB驱动程序文档。
_id
从集合中删除指定的一个或多个索引(字段中的索引除外
)。
您可以使用该方法执行以下操作:
_id
从集合中删除除索引以外的所有内容。
从集合中删除指定的索引。要指定索引,可以通过以下方法之一:
索引规范文档(除非索引是 文本索引,在这种情况下,请使用索引名称删除):
索引名称:
小费
若要获取索引的名称,请使用
db.collection.getIndexes()
方法。
从集合中删除指定的索引。(从MongoDB 4.2开始可用)。要指定要删除的多个索引,请向该方法传递一个索引名称数组:
如果索引名称数组包含不存在的索引,则该方法将出错,而不会删除任何指定的索引。
小费
若要获取索引的名称,请使用
db.collection.getIndexes()
方法。
该db.collection.dropIndexes()
方法采用以下可选参数:
参数 | 类型 | 描述 |
---|---|---|
indexes |
字符串或文档或字符串数组 | 可选的。指定要删除的一个或多个索引。 要删除集合中除_id索引以外的所有索引,请省略参数。 要删除单个索引,请指定索引名称,索引规范文档(除非索引是 文本索引)或索引名称的数组。要删除文本索引,请指定索引名称或索引名称的数组,而不是索引规范文档。 要删除多个索引(从MongoDB 4.2开始可用),请指定一个索引名称数组。 |
该db.collection.dropIndexes()
是围绕着一个包装
dropIndexes
命令。
在版本4.2中进行了更改。
db.collection.dropIndexes()
在操作期间获得对指定集合的排他锁。集合上的所有后续操作都必须等到db.collection.dropIndexes()
释放锁为止。
在MongoDB 4.2之前的版本中,db.collection.dropIndexes()
获得了对父数据库的排他锁,从而阻止了对数据库及其所有集合的所有操作,直到操作完成。
如果给该方法传递了一个包含不存在的索引的索引名称数组,则该方法将出错,而不会删除任何指定的索引。
_id
索引¶您不能在_id
字段上删除默认索引。