管理 Cloud Firestore 中的索引

Cloud Firestore 在每次查询时都需要有索引,以确保达到最佳性能。所有文档字段都会自动编入索引,因此只使用等式子句的查询不需要额外的索引。如果您尝试使用未映射到现有索引的范围子句进行复合查询,则会收到一个错误。该错误消息中包含一个直接链接,用于在 Firebase 控制台中创建缺少的索引。

通过生成的链接转到 Firebase 控制台,查看自动填充的信息,然后点击创建

使用 Firebase 控制台

要在 Firebase 控制台中手动创建新的索引,请执行以下操作:

Firebase 控制台中的 Firestore 索引编制界面的图片

  1. 转到 Firebase 控制台Database(数据库)部分。
  2. 转到索引标签,然后点击添加索引
  3. 输入集合名称,并设置索引排序时将依据的字段。点击创建

索引可能需要几分钟才能构建完毕,具体取决于查询的大小。创建索引后,您可以在“复合索引”部分中查看这些索引及其状态。如果它们仍在构建中,则 Firebase 控制台会包括一个表示正在构建的状态栏。

使用 Firebase CLI

您也可以使用 Firebase CLI 来部署索引。为此,请先在您的项目目录中运行 firebase init firestore。在设置过程中,Firebase CLI 会以正确的格式生成一个包含默认索引的 JSON 文件。编辑该文件以添加更多索引,并使用 firebase deploy 命令部署该文件。如果您只想部署索引,可以添加 --only firestore:indexes 标志。如果您使用 Firebase 控制台对索引进行了修改,请务必同时更新本地索引文件。

移除索引

要删除索引,请执行以下操作:

  1. 转到 Firebase 控制台Database(数据库)部分。
  2. 点击索引标签。
  3. 将鼠标悬停在要删除的索引上,然后从上下文菜单中选择删除
  4. 通过点击提醒中的删除,确认您要删除该索引。

发送以下问题的反馈:

此网页
需要帮助?请访问我们的支持页面