【问题标题】:Firestore orderBy descending is not workingFirestore orderBy 降序不起作用
【发布时间】:2021-07-19 19:27:13
【问题描述】:

在使用 Firestore 时,只有在使用 .orderBy 时才会出现错误
错误信息是:
快照侦听器中未捕获的错误:[FirebaseError:未找到匹配的索引。]

todoRef
      .where("owner", "==", firebase.auth().currentUser.uid)
      .where("date", "==", props.date)
      .orderBy("description", "desc")
      .onSnapshot((querySnapshot) => {
        const data = [];
        querySnapshot.forEach((doc) => {
          const d = {
            id: doc.id,
            ...doc.data(),
          };
          data.push(d);
        });
        //console.log("coming from function", data);
        setData(data);
        return data;
      });

【问题讨论】:

    标签: javascript reactjs react-native google-cloud-firestore


    【解决方案1】:

    安卓 在您的终端类型上:

    adb logcat

    或者在Android studio上打开logcat,你会发现有错误的日志,报告url自动创建所需的索引。

    IOS 打开xCode,进入日志,会发现有错误的日志,报告url自动创建所需的索引。

    如果 url 没有显示,这是 firebase sdk 上的一个已知错误。按照此问题获取任何更新: https://github.com/firebase/firebase-js-sdk/issues/5152

    如果您不想等待,只需使用控制台手动创建索引。

    【讨论】:

    • RemindLive[7126:555467] [javascript] '快照侦听器中未捕获的错误:',{ [FirebaseError:找不到匹配的索引。] 代码:'失败的前提条件',名称:'FirebaseError', toString: [函数] }
    • 你使用的是安卓还是iOS?您是否按照步骤操作?
    • 是的,我关注了,但我没有看到任何网址
    • 更新了答案
    【解决方案2】:

    您需要在 Firebase 控制台中创建索引。将已打印的链接复制到控制台中。

    【讨论】:

    • RemindLive[7126:555467] [javascript] '快照侦听器中未捕获的错误:',{ [FirebaseError:找不到匹配的索引。] 代码:'失败的前提条件',名称:'FirebaseError', toString: [函数] }
    猜你喜欢
    • 2018-12-28
    • 1970-01-01
    • 2018-10-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多