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 Enterprise:基于订阅、自我管理的 MongoDB 版本
MongoDB Community:源代码可用、免费使用且可自行管理的 MongoDB 版本
重要
MongoDB Atlas集群不支持此命令。有关Atlas支持所有命令的信息,请参阅不支持的命令。
行为
对于 MongoDB 5.0 或更高版本,db.collection.reIndex()
只能在独立实例上运行。
资源锁定
db.collection.reIndex()
获取集合上的独占(W)锁,并阻止集合上的其他操作,直到该操作完成。
有关 MongoDB 中锁定的更多信息,请参阅常见问题解答:并发。