在Firestore中对同一集合的多个查询进行排序和过滤

时间:2020-04-24 15:02:31

标签: python google-cloud-firestore backend

我是Cloud Firestore的新手,我试图使查询尽可能高效,但是我对特定的查询有些绝望。非常感谢您的帮助。

这种情况:

我想显示一个项目列表,该列表是从用户字段和项目实体中的2个查询中获取的。用户字段称为“收藏夹项目”,它具有引用其实体上的那些项目的项目ID。另一个查询检索我的公共项目(==)和最后一个用户为贡献者的私有项目(array_contains)。

我想对两个查询的结果进行排序和过滤。是否可以选择合并两个查询,以及像使用集合引用一样使用排序和筛选? 谢谢您的时间,祝您愉快!

1 个答案:

答案 0 :(得分:1)

基于thisthis文档,我认为没有一种现成的解决方案可用于连接查询的结果,例如所描述的查询。

您需要在代码中实现。

例如,您可以运行第一个查询,并将文档的所有数据存储在地图或数组中。然后使用document_reference中另一个文档的引用进行第二个查询和第三个查询。

一旦拥有所有这些,就可以使用Python随心所欲。但是,似乎尚不支持使用单个查询或自动加入查询来使其准备就绪。