Я использую AngularFirestoreCollection для извлечения данных из Cloud Firestore в режиме реального времени. Я использую Ioni c 5 и Angular 9.
Это моя (упрощенная) функция:
async applyFilter(filterObject: any) {
this.trainingsByUser = this.afs.collection<Training>(this.tables.training, ref =>
ref.where('idUser', '==', '1')
.where('isCompetition', 'in', ['true', 'false'])
.where('date', '>=', filterObject.DateStart)
.where('date', '<=', filterObject.DateEnd)
.orderBy('date', 'asc')
.limit(3))
.snapshotChanges()
.pipe(
map(actions => {
return actions.map(a => {
const data = a.payload.doc.data();
data.id = a.payload.doc.id;
return {...data};
});
})
);
}
Что бы я хотел Для этого нужно применить эти «где» в условной форме:
-> Если условие подтверждено, выполнить фильтрацию по дате, если не по баллу.
I не знаю, как это сделать с помощью этой формы запроса, в которой используется QueryFn (ref).
Заранее благодарим вас за потраченное время и помощь, которую вы сможете мне оказать.