问题描述
我有三个实体
evidence {claimId; string,subject1Id: string,subject2Id:string,claim: Claim,subject1: Subject,subject2: Subject
}
claim {id,...}
subject {id,...}
我正在处理每个流。 假设已填充 claimId、subject1Id 和 subject2Id 并且该声明、主题 1 和主题 2 不是 我想以一个新的集合结束:
evidence { claimId,subject1Id,subject2Id,claim: <where claim.id == this.claimId>,subject1: <where subject.id == this.subject1Id>,subject2: <where subject.id == this.subject2Id>
}
我似乎无法理解如何建造商店管道。
非常感谢建议或指向示例的指针。
解决方法
只需将您的信息流组合起来,即可组合成您想要的模型
export class EvidencesService extends EntityCollectionServiceBase<Evidence> {
....
constructor(...,pricate subjectsService: SubjectsService,private claimsServiceL ClaimsService) {
...
}
expandedEntities$ = combineLatest([
this.entities$,this.subjectsService.entities$,this.claimsService.entities$,]).pipe(map(([evidences,subjects,claims]) =>
Object.fromEntries(Object.entries(evidences)).map(([id,evidence]) => [id,{
...evidence,claim: claims[evidence.claimId],subject1: subjects[evidence.subject1Id],subject2: subjects[evidence.subject2Id],}])
));
}