如何仅从firestore .onSnapshot中选择唯一记录

时间:2019-06-19 02:30:26

标签: angular firebase google-cloud-firestore ionic4

由于Firebase复合查询的局限性,我必须使用以下内容来获取我需要的所有文档。

    for ( let i = 0; i < filters.dateRange.length; i ++) {
    const query = this.dataSvc.getAllItineraries()
    .where('jobCode', '==', filters.jobCode)
    .where('dateRange', 'array-contains', filters.dateRange[i]);
    query.onSnapshot(itineraryListSnapshot => {
          itineraryListSnapshot.forEach(snap => {
          this.allItineraries.push({
            id: snap.id,
            startDate: snap.data().startDate,
            endDate: snap.data().endDate,
            userId: snap.data().userId
          });
        });
      });
    }

问题在于,它遍历date_range时正在复制记录。我需要一种仅根据ID提取唯一记录的方法。或者,在查询完成后,删除重复的ID。

有办法吗?

还是有一种方法只能通过HTML在UI中显示唯一记录?

0 个答案:

没有答案