您可以使用Data Explorer来管理集合上的索引。
所需角色
要创建或删除索引,您必须至少拥有以下角色之一提供的访问权限:
Considerations
默认情况下,最多可以有三个并发非滚动索引构建。 要学习;了解更多信息,请参阅最大并发索引构建。
如果您选择以滚动方式构建索引,您必须确保以下几点:
请按顺序请求滚动索引构建和非滚动索引构建,而不要同时请求。在请求另一个索引构建之前,请等待当前正在执行的索引构建完成。
如果您需要请求多个滚动索引构建,请在请求另一个滚动索引构建之前,等待当前正在执行的滚动索引构建完成。
要追踪滚动索引构建,请参阅操作日志。
对于已中止的滚动索引构建,您必须在每个节点上运行listIndexes ,以验证已取消的索引不再存在。否则,集群可能会保持不一致状态。
警告
由于严重问题 SERVER-68925 ,使用某些版本的MongoDB 助手的Cloud Manager部署不应在运行以下MongoDB版本的集群上执行自动滚动索引构建:
MongoDB 4.2.19-4.2.22
MongoDB 4.4.13-4.4.16
MongoDB 5.0.6-5.0.11
MongoDB 6.0.0-6.0.1
您可以继续在集群上安全地执行手动滚动索引构建。要安全地执行自动滚动索引构建,请将MongoDB12 40助手升级到...7703 或更高版本,或者将集群升级到:
MongoDB 4.2.23 或更高版本
MongoDB 4.4.17 或更高版本
MongoDB 5.0.12 或更高版本
MongoDB 6.0.2 或更高版本
重要
注意
数据浏览器不支持以滚动方式为独立部署构建索引。
以滚动方式构建索引可以减少构建索引对副本集和分片集群的性能影响。为了保持集群可用性,Cloud Manager 从从节点开始,一次从集群中移除一个节点。
以滚动方式构建索引后,如果MongoDB 数据库在小于FCV 的4.2 下运行,请重新同步头部数据库以确保头部数据库考虑新索引。
Cloud Manager 会自动取消在所有节点上未成功的滚动索引构建。当滚动索引构建在某些节点上完成,但在其他节点上失败时,Cloud Manager 会取消构建并从成功构建索引的所有节点中删除索引。
在滚动索引构建取消的情况下,Cloud Manager 会生成操作日志事件,并向项目所有者发送一封包含以下信息的通知电子邮件:
滚动索引构建失败的集群的名称
滚动索引构建失败的命名空间
包含集群和命名空间的项目
包含项目的组织
操作日志事件的链接
如需了解有关重建索引的更多信息,请参阅在副本集上构建索引。
注意
查看索引
警告
数据浏览器仅显示集群中主节点 (primary node in the replica set)节点的 Usage指标。如果您的应用程序主要从从节点(secondary node from replica set)读取数据,则 Usage指标无法准确反映整个集群的索引使用情况。
有关更全面的索引使用情况统计信息,请在集群中的每个节点上运行$indexStats 聚合阶段。
在 Collections 标签页中,您可以查看集合的索引信息。想要查看一个集合的索引信息,您需要:
创建索引
提示
创建索引时,请注意针对目标集合的读写操作的比例。索引会带来性能成本,但对于大型数据集的频繁查询来说,这是值得的。有关索引策略的更多信息,请参阅索引策略。
要通过Data Explorer为集合创建索引:
单击 Create Index(保存并关闭)。
在Create Index 模式中,在index key specification 框中输入Fields 文档:
{ <field1>: <index type>, ... }
例子
如要在字段 category (升序)和 score (降序)上创建复合索引,请指定索引规范文档:
{ category: 1, score: -1 }
有关索引的更多信息,请参阅索引。
(可选) 指定索引选项。
{ <option1>: <value1>, ... }
例子
要为新索引设置unique选项和name ,请输入以下文档:
{ unique: true, name: "myUniqueIndex" }
(可选) 设定排序规则选项。
使用排序规则指定特定于语言的字符串比较规则,例如字母大小写和重音符号规则。排序规则文档包含指示 localeICU 区域设置代码的 字段,并且可能包含用于定义排序规则行为的其他字段。
例子
以下排序规则选项文档将法语排序规则的语言环境值指定为 fr:
{ "locale": "fr" }
要查看 MongoDB 排序规则支持的区域设置列表,请参阅语言和区域设置列表。要了解有关排序规则的详情,包括默认为每个区域设置启用的排序规则选项,请参阅 MongoDB 手册的排序规则。
删除索引
要通过Data Explorer从集合中删除索引:
注意
您无法删除_id索引。
