Firebase具有侦听器的多个位置分页查询

时间:2018-12-11 02:47:46

标签: firebase firebase-realtime-database

想象一下,我在Firebase中有一个非规范化的数据集,该数据集已针对快速浅查询进行了优化(对象未深度嵌套)。

在我需要基于多个条件获取数据之前,一切都很好。

这里是一个例子:

如果我需要对按价格排序的“耐克”系列进行分页,我会这样做

ref.child('nike').orderByChild('price').limitToFirst(10)

但是,如果我想对按价格排序的“ nike”和“ adidas”进行分页,通常建议创建一个单独的表“ nike_adidas”,其中包含两个集合中的重复项。

ref.child('nike_adidas').orderByChild('price').limitToFirst(10)

问题是这样的组合很多,不可能为所有组合创建“索引表”。

在这种情况下您会怎么做? (仅考虑Firebase,例如,您无需为此类查询设置单独的ElasticSearch)

其他要求-我仍然希望客户端在对象发生更改/移动/删除后接收更新。

注意:这与Firestore复合查询(https://firebase.google.com/docs/firestore/query-data/queries#compound_queries)是分开的,因为Firestore也不支持Single queries across multiple collections or subcollections

0 个答案:

没有答案