Docs 菜单
Docs 主页
/
MongoDB Atlas
/

创建、查看、删除和隐藏索引

在此页面上

  • 所需角色
  • Considerations
  • 查看索引
  • 创建索引
  • 删除索引
  • 隐藏索引

您可以使用 Atlas CLI 或 Atlas 用户界面管理集合上的 索引

索引支持在 MongoDB 中高效执行查询,应该考虑用于您的应用程序经常读取的字段。要了解有关创建有效索引的更多信息,请参阅索引策略

您可以为无服务器实例启用索引自动创建功能。要学习;了解详情,请参阅为无服务器实例自动创建索引。

创建删除隐藏索引,您必须至少拥有以下一种角色提供的访问权限:

默认情况下,您最多只能有三个并发索引构建。如要了解详情,请参阅最大并发索引构建

当您启动滚动索引构建时,该节点将在构建期间处于HOST_down状态。要取消滚动索引构建,您必须联系 MongoDB 支持。

想要查看一个集合的索引信息,您需要:

1
  1. 如果尚未显示,请从导航栏上的 Organizations 菜单中选择包含所需项目的组织。

  2. 如果尚未显示,请从导航栏的Projects菜单中选择所需的项目。

  3. 如果尚未出现,请单击侧边栏中的 Clusters(部署)。

    会显示集群页面。

2

单击集群的对应 Browse Collections 按钮。

显示数据浏览器

3

主面板和左侧的 Namespaces 列出数据库中的集合。

突出显示 Atlas 用户界面中的数据库的屏幕截图。
点击放大
4

主面板显示 FindIndexesAggregation 视图。

5

索引表中列出了集合的索引和相关索引信息。索引信息包括索引定义、大小和使用频率。

突出显示 Atlas 用户界面中索引视图的屏幕截图。
点击放大

提示

创建索引时,请注意针对目标集合的读写操作的比例。索引会带来性能成本,但对于大型数据集的频繁查询来说,这是值得的。在创建索引之前,请查看已记录的索引策略

注意

您可以使用 Atlas Search 构建全文搜索,使用 Atlas Vector Search 构建语义搜索。Atlas Search 提供细粒度的文本索引。要了解更多信息,请参阅查看 Atlas Search 索引语法如何为向量搜索的字段编制索引。

要使用 Atlas CLI 为 Atlas 集群创建滚动索引,请运行以下命令:

atlas clusters indexes create [indexName] [options]

要了解有关命令语法和参数的更多信息,请参阅 Atlas CLI 文档中的 atlas clusters indexes create

提示

请参阅:相关链接

要使用 Atlas UI 为集合创建索引:

1

选择要编制索引的集合,然后转到 Indexes 标签页。

2

Create Index 模态框中,输入索引键规范文档:

{ <field1>: <index type>, ... }

例子

如要在字段 category (升序)和 score (降序)上创建复合索引,请指定索引规范文档:

{ category: 1, score: -1 }

要了解有关索引的更多信息,请参阅索引

3

创建索引时,可以指定各种索引选项

例子:

{ <option1>: <value1>, ... }

例子

以下选项文档指定索引的 unique 选项和 name

{ unique: true, name: "myUniqueIndex" }

注意

您不能对唯一索引执行滚动构建。如果使用 unique 索引选项启用以滚动方式构建索引,Atlas 将拒绝您的配置并显示错误消息。

4

使用排序规则来指定特定语言的字符串比较规则,如字母大小写和重音符号规则。排序规则文档包含 locale 字段,表示 ICU 区域设置代码,还可能包含用于定义排序规则行为的其他字段。

例子

以下排序规则选项文档将法语排序规则的语言环境值指定为 fr

{ "locale": "fr" }

要查看 MongoDB 排序规则支持的区域设置列表,请参阅语言和区域设置列表。要了解有关排序规则的详情,包括默认为每个区域设置启用的排序规则选项,请参阅 MongoDB 手册的排序规则

5

重要

滚动索引构建仅在满足特定条件时才会成功。 为确保索引构建成功,请避免使用通常会触发重启循环的以下设计模式:

注意

Atlas UI 不支持用滚动构建的方式为 M0 个空闲集群和 M2/M5 个共享集群构建索引。您无法用滚动构建的方式为无服务器实例构建索引。

对于不能容忍由于索引构建而导致性能下降的工作负载, 请考虑以滚动方式构建索引。

要保持集群的可用性:

  • Atlas 一次从集群中移除一个节点,并从某一从节点开始。

  • 一次可能有多个节点宕机,但 Atlas 始终保持大多数节点在线。

Atlas 自动取消未在所有节点上成功的 滚动索引构建。当滚动索引构建在某些节点上完成, 但在其他节点上失败时,Atlas 会取消构建 并从成功构建索引的所有节点中删除索引。

在滚动索引构建取消的情况下,Atlas 会生成操作日志事件,并通过电子邮件向项目所有者发送以下信息:

  • 滚动索引构建失败的集群的名称

  • 滚动索引构建失败的命名空间

  • 包含集群和命名空间的项目

  • 包含项目的组织

  • 指向操作日志事件的链接

如需了解有关重建索引的更多信息,请参阅在副本集上构建索引

注意

Unique 索引选项无法在以滚动方式构建索引时使用。如果您在 Options(选项)窗格中指定 unique,则 Atlas 将拒绝配置,并显示错误消息。

6
7

要使用 Atlas 用户界面从集合中删除索引:

1
  1. 如果尚未显示,请从导航栏上的 Organizations 菜单中选择包含所需项目的组织。

  2. 如果尚未显示,请从导航栏的Projects菜单中选择所需的项目。

  3. 如果尚未出现,请单击侧边栏中的 Clusters(部署)。

    会显示集群页面。

2

单击集群的对应 Browse Collections 按钮。

显示数据浏览器

3
  1. 选择具有要删除的索引的集合。

  2. 单击 Indexes 标签页。

4

Action(操作)列下,单击要删除的索引的对应 Drop Index(删除索引)图标。

5

在对话框中,键入索引的名称,然后单击 Drop(删除)。

重要

无法删除或隐藏 _id 索引。要了解更多信息,请参阅唯一索引

可以考虑隐藏索引 ,以便在删除索引之前评估删除的影响。如要了解详情,请参阅隐藏索引

注意

Atlas CLI 限制

无法使用 Atlas CLI 删除集群的索引。

要使用 Atlas 用户界面隐藏索引,请执行以下步骤:

1
  1. 如果尚未显示,请从导航栏上的 Organizations 菜单中选择包含所需项目的组织。

  2. 如果尚未显示,请从导航栏的Projects菜单中选择所需的项目。

  3. 如果尚未出现,请单击侧边栏中的 Clusters(部署)。

    会显示集群页面。

2

单击集群的对应 Browse Collections 按钮。

显示数据浏览器

3
  1. 选择具有要隐藏的索引的集合。

  2. 单击 Indexes 标签页。

4

Action(操作)列下,点击要隐藏的索引的对应 Hide Index(隐藏索引)图标。

5

在对话框中,单击 Confirm(确认)。

注意

要取消隐藏索引,请再次单击该图标并单击 Confirm 以确认您的操作。

后退

文档 (Document)