首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Firestore索引错误

Firestore索引错误
EN

Stack Overflow用户
提问于 2017-11-07 01:19:02
回答 5查看 17.4K关注 0票数 8

当我使用angular 2从Firestore查询数据时,我遇到了一些问题。

谁能帮我检查一下,告诉我哪里做错了?

我的错误:

代码语言:javascript
运行
复制
ERROR Error: The query requires an index. You can create it here: https://console.firebase.google.com/project/admin-e8a7b/database/firestore/indexes?create_index=EgR0ZW1wGgcKA3VpZBACGg0KCXN0YXJ0ZWRBdBADGgwKCF9fbmFtZV9fEAM
at new FirestoreError (vendor.bundle.js:19925)

这是我的代码:

代码语言:javascript
运行
复制
getTemp(uid): Observable<any> {
let temps = [];
var today = new Date();
return this.afs.collection<Temps>('temp', ref => ref.where('uid', '==', uid).orderBy('startedAt', 'desc')).snapshotChanges()
  .map(actions => {
    return actions.map(action => {
      const data = action.payload.doc.data() as Temps;
      console.log(data.temp);
      return data.temp;
    });
  });
}
EN

回答 5

Stack Overflow用户

发布于 2017-12-26 06:42:15

发生此错误的原因是,默认情况下,Firestore不需要为只使用相等子句的查询创建额外的索引,因此情况并非如此。

要使您的查询工作,您只需单击错误消息的链接,并在Firebase控制台中为您的查询创建一个新索引。

要了解有关Firestore索引如何工作的更多信息,请阅读documentation.

票数 21
EN

Stack Overflow用户

发布于 2018-08-16 01:25:23

单击提供的链接。如果它没有将你带到正确的页面,如果你得到这个错误:

代码语言:javascript
运行
复制
The project xxx either does not exist, or user doesn't have permission

注销当前用户,然后以Firebase用户身份登录。

您将获得为您的查询建议的索引。

包含特定值和范围或顺序的查询需要

复合索引。

当您运行这些查询时,它们的性能会很差,伸缩性也不会很好。

每次您使用不同的字段、组合range、等于或order by运算符更改查询时,都必须创建一个新的索引。如果只使用whereEqualTo运算符,则不需要这样做。

根据您的数据大小,创建索引可能需要一段时间。

票数 3
EN

Stack Overflow用户

发布于 2018-04-24 04:34:02

此错误也可能是因为您查询的某个字段在扫描的文档中不存在

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47142392

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档