我最近开始使用“新的”模块化方法angular和angularfire。
我正试图从一个集合中检索一个文档。
目前我有这个:
constructor(private firestore: Firestore, private auth: Auth) {
const userId = this.auth.currentUser?.uid;
const docReference = doc(this.firestore, 'queues/' + userId);
this.myQueue$ = docData(docReference);
}
我的目标是让myQueue$
像这样键入:
public readonly myQueue$: Observable<Queue | null>;
但我不太确定怎么做?
我试着做了以下几点:
const docReference = doc<Queue>(this.firestore, 'queues/' + userId);
this.myQueue$ = docData<Queue>(docReference);
但它不起作用,因为this.firestore
不是CollectionReference<Queue>
(这似乎很正常,因为它是整个firestore数据库)。
这个modular
有点令人痛苦,大多数doc仍然引用“老”方法:https://github.com/angular/angularfire/tree/master/docs/firestore。
那么,如何处理类型化对象呢?
1条答案
按热度按时间a11xaf1n1#
最简单的解决方案就是像这样转换文档引用:
或者,如果
Queue
不仅是一个接口,而且是一个类,那么可以使用data converter: