Итак, я создаю облачную функцию, которая принимает идентификатор клиента, фильтрует документы на основе идентификатора клиента и возвращает список документов. К сожалению, он возвращает пустой массив. Я уверен, что это простое решение.
Вот облачная функция:
export const getCalendarItems = functions.https.onCall(async (data, context) => {
const uid = data.uid;
if (context.auth) {
let array = [{}];
const ref = admin.firestore().collection("photoshoots");
const query = ref.where("customerID", "==", uid);
query.onSnapshot((querySnapshot) => {
querySnapshot.docs.forEach((documentSnapshot) => {
array.push({
...documentSnapshot.data(),
key: documentSnapshot.id,
});
});
});
return array;
} else {
return false;
}
});
Вот код, когда я вызываю его со стороны клиента.
const uid = auth().currentUser.uid;
functions()
.httpsCallable("getCalendarItems")({
uid: uid
})
.then(result => {
console.log(result.data);
});
Также здесь снимок экрана Firestore.
Снимок экрана пожарного магазина