【发布时间】:2020-12-12 23:17:58
【问题描述】:
我的服务中有一个用于创建新文档的函数。此新文档的其中一个值需要来自存储在另一个文档中的值。
如何在更新我的新文档之前等待文档查询 (getDoc) 的返回值?
我想象的步骤(如果我错了请纠正我)是:
- 调用
getDoc函数并返回一个值,比如说“生日” - 返回此值后,调用
newDocument函数,以便birthday值可用于new_value
添加新文档的功能:
newDocument(g){
const newID = this.afs.createId();
this.afs.doc<Interface>(`col/${id}/col/${newID}`).set({
new_value: // needs to come from other query
});
}
查询我需要数据的文档的函数:
getDoc(ID: string) {
return this.afs.doc<Interface>(`col/${ID}`).valueChanges().pipe(shareReplay());
}
【问题讨论】:
-
作为测试,我摆脱了 angularfire,而是使用原生 firestore 查询来查询文档,如果存在,则使用数据调用文档添加函数。我觉得没关系。
标签: typescript google-cloud-firestore async-await angularfire