У меня есть коллекции и их подколлекции. Я л oop над ними и собираю данные. Работает нормально, но слишком медленно. Кто-нибудь может предложить улучшить проблему производительности?
static async getSubCategories(category_id) {
const db = Firebase.firestore(),
subCategories = [];
activeRef = await db.collection("sub_categories").where("category_id", "==", category_id).orderBy("id").get();
for (let doc of activeRef.docs) {
const subCategory = doc.data();
if (_.isObject(subCategory)) {
const subRef = await doc.ref.collection('sub_sub_categories').orderBy("id").get(),
subSubCategories = [];
for (let subDoc of subRef.docs) {
const subSubCategory = subDoc.data();
if (_.isObject(subCategory)) {
subSubCategories.push(subSubCategory);
// If SubCategory has image, download storage uri
if (subSubCategory.image_storage_uri) {
const imageRef = Firebase.storage().refFromURL(subSubCategory.image_storage_uri),
imageUri = await imageRef.getDownloadURL();
subSubCategory.image_uri = imageUri;
}
}
}
if (subSubCategories.length > 0)
subCategory.sub_sub_categories = subSubCategories;
subCategories.push(subCategory);
}
}
return subCategories;
}