Rxjs 将.groupBy与Firestore收集数据一起使用

Rxjs 将.groupBy与Firestore收集数据一起使用,rxjs,google-cloud-firestore,rxjs6,angularfire5,Rxjs,Google Cloud Firestore,Rxjs6,Angularfire5,我有一个Firestore集合,其中包含许多作业,但我想根据客户端的作业编号对它们进行分组。我在网上看过很多这样的例子。jobs=this.afs.collection'jobs.valueChanges.pipegroupByjob:any=>job.jobNumber,mergeMapgroup=>group.pipetoArray;但是没有成功。我所拥有的是 工作 -第一号工作 -第二号工作 -3号工作 -第一号工作 但我想要的是 工作 -[工作编号1,工作编号1] -[工作编号2] -[

我有一个Firestore集合,其中包含许多作业,但我想根据客户端的作业编号对它们进行分组。我在网上看过很多这样的例子。jobs=this.afs.collection'jobs.valueChanges.pipegroupByjob:any=>job.jobNumber,mergeMapgroup=>group.pipetoArray;但是没有成功。我所拥有的是

工作 -第一号工作 -第二号工作 -3号工作 -第一号工作

但我想要的是

工作 -[工作编号1,工作编号1] -[工作编号2]
-[作业编号3]

问题是,当您订阅valueChanges时,它会变得很热,而且永远不会完成,因此您可以;t获得您想要的结果-流如何知道所有作业编号1何时到达?不过,f.ex.可以做一些变通。添加一个超时,并使用扫描收集累加器主题等中的所有值,然后合并这些值并发出


但是,如果您已经在本地存储了所有数据,这有意义吗?可能不会。在国际海事组织,你只能在收到回复后使用回复,f.ex。创建主题,并根据工作编号1,调用下一个主题

是的,这就是我现在正在做的。从客户端获取所有数据排序