由于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中显示唯一记录?