我有一个商品数据库,需要找到带有匹配标签的商品,一次取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没有复合索引。
不幸的是,标签可以是任意数量的东西,为每个可能的标签建立索引似乎并不可行(除非有一种快速的编程方式来创建标签?)。
我不确定如何解决此问题,看起来应该很简单。