嵌套的Firestore查询不会将结果返回主查询

时间:2019-01-13 13:15:18

标签: javascript angular firebase google-cloud-firestore

我有两个Firestore集合,/ projects和/ tasks。 / tasks集合包含对/ projects集合中的id字段的引用字段。在打字稿中,我用一个projectname成员扩展了任务类。因此,在查询/ tasks集合时,我还需要返回项目名称。

我当前的代码是使用valueChanges(),我的第一次尝试是使用snapshotChanges()。

当前我的代码如下:

this.xtasks = this.tasksCollection.valueChanges().pipe(
      map(values => values.map(data => {
          return {
              created: data.created,
              createdby: data.createdby,
              description: data.description,
              due: data.due,
              lastmodified: data.lastmodified,
              lastmodifiedby: data.lastmodifiedby,
              project: data.project, // i.e. /projects/<guid>
              sort: data.sort,
              state: data.state,
              title: data.title,
              uid: data.uid,
              projectname: this.projectService.getProjectStringField(data.project.replace('/projects/', ''), 'name') // supposed to retrive name of a project by project guid
            };
        })
      )
    );

但是当管道返回结果时,项目名称为空。我尝试研究Promise,但无法获得它返回项目名称的值。

在代码段中,所有/ tasks字段均在数据对象中表示,但我也想获取项目名称。

0 个答案:

没有答案