Мне нужно напечатать список всех документов в коллекции обслуживания (которая является вложенной коллекцией внутри коллекции клиентов) для каждого документа в коллекции клиентов.
Каждый документ клиента имеет коллекцию обслуживания с документ для каждой единицы оборудования.
Мне нужно распечатать все техническое обслуживание для всех клиентов.
Кажется, что заполнение списка клиентов заполнено правильно. Журнал консоли возвращает хороший список того, что мне нужно, поэтому выборка получает данные.
Возможно, я неправильно структурирую набор useState?
Я переместил свой setMaintenance в другие места, попробовал Перемещение декларации массива.
любая помощь приветствуется, так как это ставит меня в тупик на несколько дней.
структура базы данных: коллекция / документ / коллекция / документ клиенты / firestoreGeneratedId / Maintenance / firestoreGeneratedId
const database = firebase.firestore();
const [customers, setCustomers] = useState([]);
const [maint, setMaintenance] = useState([]);
const [error, setError] = useState();
useEffect(() => {
database
.collection("customers")
.get()
.then((response) => {
const fetchedCustomers = [];
response.docs.forEach((document) => {
const fetchedCustomer = {
id: document.id,
...document.data(),
};
fetchedCustomers.push(fetchedCustomer);
database
.collection("customers")
.doc(document.id)
.collection("Maintenance")
.get()
.then((response) => {
const fetchedMaintenances = [];
response.docs.forEach((document) => {
console.log("fetched id: ", document.id);
const fetchedMaintenance = {
id: document.id,
...document.data(),
};
fetchedMaintenances.push(fetchedMaintenance);
});
setMaintenance(fetchedMaintenances);
});
});
setCustomers(fetchedCustomers);
})
.catch((error) => {
setError(error);
});
}, []);