【发布时间】:2020-06-06 22:59:10
【问题描述】:
我有两个组件共享一个服务。其中一个组件从 Firestore 获取整个集合作为 observable。
第二个组件应该显示单个文档的所有数据。 但是,我不确定如何在不再次查询数据库的情况下实现这一点。
我已经尝试在现有的 observable 上使用pipe(map(documents => documents.find(...matching logic...))),但它仍然会再次查询数据库。
所以 TL;DR:我查询了整个集合,如何在不再次查询数据库的情况下从中获取单个文档?
【问题讨论】:
-
在服务中缓存“整个集合”响应(可能使用 observable)。使用第二个组件中的缓存数据。
-
管道
shareReplay(1) -
成功了!谢谢!
-
@NielsKersic 请添加解决方案作为答案,以便其他人可以看到问题已解决,stackoverflow.com/help/self-answer
标签: angular google-cloud-firestore rxjs