首页 > 解决方案 > Firestore 错误 - 查询需要索引,但索引可能不可行?

问题描述

我有一个项目数据库,需要找到具有匹配标签的项目并一次获取 10 个(或任何给定数量)。

我尝试了以下方法:

(await admin
                .firestore()
                .collection('media')
                .orderBy('id')
                .where('descriptions.tagSet.' + 'Test', '==', true)
                .where('descriptions.tagSet.' + 'Test2', '==', true)
                .startAt(start)
                .limit(10)
                .get()).docs;

起初我收到一个关于“id”不存在索引的错误,所以我使用 Firestore 给我的链接创建了一个。

然而,我得到的下一个错误是 descriptions.tagSet.Test 没有复合索引。

不幸的是,标签可以是任意数量的东西,为每个可能的标签设置索引似乎是不可行的(除非有一种快速的编程方式来创建一个?)。

我不确定如何解决这个问题,看起来应该很简单。

标签: firebasegoogle-cloud-firestore

解决方案


推荐阅读