首页 > 解决方案 > 快照侦听器中未捕获的错误:FirebaseError:找不到匹配的索引

问题描述

运行以下查询时出现上述错误。我以前没有见过它,找不到任何关于它的文档,而且我没有做任何不寻常的事情或我以前没有做过的事情。任何人都可以阐明它吗?

const getUserProjects = async () => {
    return await useFireStore
    .collection('projects')
    .where('paid','==',true)
    .where('ownerId','==', `${currentUser.uid}`)
    .orderBy('createdAt', 'desc')
    .onSnapshot(snapshot => {
        let projects = [];
        snapshot.forEach(doc => {
            projects.push({...doc.data(), id: doc.id })
        });
        setUserProjects(projects);
    });
};

这是一个“新”查询,因为我刚刚将它添加到代码中,所以我可能期望控制台中的错误会提供一个链接,用于创建一个新的复合索引或任何它被称为的链接,但我只是得到这个:

Firestore 控制台错误

编辑:我尝试手动创建索引,但仍然遇到相同的错误。我在同一页面上也有一个查询,除了集合名称外,它完全相同,而且效果很好。

标签: javascriptfirebasegoogle-cloud-firestore

解决方案


这是 SDK 中的一个内部错误。

Firebase 团队正在努力解决此问题,请在此处关注问题。


推荐阅读