Blu*_*lue 6 firebase google-cloud-firestore
在firestore中,我想知道是否有一种方法来获取hueristic1并获取两个hueristic1值之间的所有数据,但根据hueristic2排序结果。
我问是因为两个页面底部的数据
https://firebase.google.com/docs/firestore/query-data/order-limit-data
https://firebase.google.com/docs/firestore/query-data/query-cursors
似乎有些矛盾的文档。
我想做的是
Ref.startAt(some h1 value).endAt(some second h1 value).orderBy(h2).
Run Code Online (Sandbox Code Playgroud)
我知道我可能必须按h1进行索引,但是即使那样我也不确定是否有办法做到这一点。
更新:
我没有对此进行足够好的测试,以至于无法产生所需的排序。OP 再次问了这个问题,并从Firebase团队成员那里得到了答案:
由于Cloud Firestore不支持按与提供的不等式不同的字段进行排序,因此您将无法直接从查询中按名称进行排序。相反,获取数据后,您需要对客户端进行排序。
该API支持所需的功能,尽管我在显示它的文档中没有看到示例。
查询词的顺序很重要。假设您有一个城市集合,并且感兴趣的字段是population(h1)和name(h2)。要获得人口在1000到2000之间的城市(按名称排序),查询将是:
citiesRef.orderBy("population").orderBy("name").startAt(1000).endAt(2000)
Run Code Online (Sandbox Code Playgroud)
此查询需要一个复合索引,您可以在控制台中手动创建。或者,如文档所示,该系统将为您提供帮助:
无需手动定义复合索引,而是在应用程序代码中运行查询以获取用于生成所需索引的链接。
| 归档时间: |
|
| 查看次数: |
6120 次 |
| 最近记录: |