DocumentReference类型的数据恢复

时间:2019-02-01 20:11:16

标签: angular firebase-realtime-database

我正在开发一个有角度的应用程序+ Firebase。问题是我有一个与区域和索引的“关系”,我想要做的就是检索索引数据,但是每个区域文档都有一个索引集合,并且在那些索引中我有对该索引的引用。

enter image description here

我有一项服务,可以通过getAllIndiceAreaId方法为我带来数据。

    getAllIndiceFindAreaId(idArea: string, listIndice: Array<indice>): Observable<indice[]> {

    return Observable.create(observable => {
      this.afs.collection<indice>("area").doc(idArea).collection("indice").snapshotChanges().pipe(map(actions => actions.map(documentoIndice => {
        const data = documentoIndice.payload.doc.data() as area_indice
        const id = documentoIndice.payload.doc.id
        return { id, ...data }
      }))).subscribe(listaIndices => {
        listaIndices.map(indice => {
          indice.indiceRef.get().then(indiceData => {
            let indice = (indiceData.data() as indice)
            indice.id = indiceData.id
            listIndice.push(indice)
          })
        })
        observable.next(this.listaIndice)
      })
    })
  }

问题是我想浏览组件中的该列表,但是在控制台中我打印未定义,但是我使用管道异步在html中的另一个组件中对其进行了完全测试,并绘制了结果。我认为恢复数据的方式不是最佳方法,该怎么办?

0 个答案:

没有答案