Angular Firestore-获取文档数据并分配给组件内部的变量

时间:2020-08-13 04:12:28

标签: angular firebase google-cloud-firestore angularfire

我正在使用Angular Firestore来获取和过滤时间戳上的数据库。

唯一的问题是,每当我获得doc.data()时,都无法将其分配给变量,以便可以在组件内部的任何位置使用此变量。

Component.ts

>>> import decimal 
>>> x = decimal.Decimal('3.4')
>>> print(x - math.floor(x))
Decimal('0.4')

我这样分配了wilsData:

joinData(toData, fromData){
    let toDate = toData
    let fromDate = fromData
    console.log("valueToDate : ", toDate)
    let dateTo = new Date(toDate).getTime() / 1000;
    let dateFrom = new Date(fromDate).getTime() / 1000;
    console.log("dateTo :", dateTo)


          let collection = this.fstore.firestore.collection('data_reports').where('timestamp', '>=', dateFrom).where('timestamp', '<=', dateTo);
          collection.get().then(function(querySnapshot) {
            querySnapshot.forEach(function(doc) {
              console.log("data: ", doc.data()) // ---> this line I can get the doc.data()
              this.wilsData = doc.data();       // ---> this line the value of wilsData is undefined
              console.log("wilsData: ", this.wilsData)
            })
          }); 
    
  }

我登录时得到 private wilsData: any[]; 值。

问题是,如何将doc.data()分配给变量?

感谢您的帮助

1 个答案:

答案 0 :(得分:1)

您需要初始化数组:

 private wilsData: any[] = [];