如何通过firestore中的子集合进行排序

时间:2018-01-24 11:31:50

标签: firebase google-cloud-firestore

我在firestore中构建了一个数据结构:

data1

data2

如何通过Job子集中的医生文件的工资来订购城市中的所有文件?

感谢您的帮助!

1 个答案:

答案 0 :(得分:3)

documentation表示您无法

  

限制:您无法轻松删除子集,也无法跨子集执行复合查询。

我要做的是创建另一个名为SalariesByCity的集合,其中包含:

  • 城市ID
  • 作业ID
  • 薪水

然后,您可以首先查询此作业按作业过滤并按薪水排序(您需要为其创建索引),然后对于每一行,您可以按ID查询City集合以获取城市详细信息。

您还可以在此SalariesByCity集合中包含城市名称,这样您甚至不需要执行其他查询。但是,每当您更新城市时,您都需要始终更新此集合。 Transactions可能对此有所帮助。

所以你的收藏可能是这样的:

  • 城市ID
  • 城市名称甚至是城市对象
  • 作业ID
  • 工作名称
  • 薪水