db.collection.reIndex()
定义
db.collection.reIndex()已弃用自版本6.0.
尝试运行
db.collection.reIndex()方法会在日志中写入一条警告信息。重要
mongosh 方法
本页记录了
mongosh方法。这不是数据库命令或特定语言驱动程序的文档,例如Node.js。有关数据库命令,请参阅
reIndex命令.有关MongoDB API驱动程序,请参阅特定语言的MongoDB驱动程序文档。
db.collection.reIndex()删除集合上的所有索引并重新创建它们。对于具有大量数据或大量索引的集合,此操作可能非常昂贵。警告
db.collection.reIndex()只能在独立实例上运行。对于大多数用户,
db.collection.reIndex()命令是不必要的。
兼容性
此方法适用于以下环境中的部署
MongoDB企业版:基于订阅的自管理版本的MongoDB
MongoDB社区版:源代码可用的、免费使用和自管理的MongoDB版本
重要
此命令不支持在MongoDB Atlas集群中。有关所有命令的Atlas支持信息,请参阅不支持命令。
行为
对于MongoDB 5.0或更高版本,db.collection.reIndex()只能在不带副本集的单实例上运行。
资源锁定
db.collection.reIndex()会对集合获取独占(W)锁,并在完成之前阻止对集合的其他操作。
有关MongoDB中锁定更多信息,请参阅常见问题解答:并发。