reIndex
定义
reIndex
自版本 6.0 起已弃用。
尝试运行
reIndex
命令会将警告消息写入日志。提示
在
mongosh
中,该命令也运行通过db.collection.reIndex()
辅助方法运行。辅助方法对
mongosh
用户来说很方便,但它们返回的信息级别可能与数据库命令不同。如果不追求方便或需要额外的返回字段,请使用数据库命令。reIndex
命令删除集合上的所有索引并重新创建它们。 对于具有大量数据和/或大量索引的集合,此操作的开销可能很大。
兼容性
此命令可用于以下环境中托管的部署:
MongoDB Enterprise:基于订阅、自我管理的 MongoDB 版本
MongoDB Community:源代码可用、免费使用且可自行管理的 MongoDB 版本
重要
MongoDB Atlas集群不支持此命令。 有关Atlas支持所有命令的信息,请参阅不支持的命令。
语法
该命令具有以下语法:
db.runCommand( { reIndex: <collection> } )
命令字段
该命令接受以下字段:
字段 | 说明 |
---|---|
reIndex | 要重建索引的collection的名称。 |
行为
对于 MongoDB 5.0 或更高版本,reIndex
只能在独立实例上运行。
资源锁定
reIndex
获取集合上的独占(W)锁,并阻止集合上的其他操作,直到该操作完成。
有关 MongoDB 中锁定的更多信息,请参阅常见问题解答:并发。