У меня есть приложение Angular, использующее Firebase для хостинга и Firestore для хранения моих данных. Я хотел бы создать функцию, которая считывает все данные для определенной коллекции c и l oop поверх документов для выполнения определенного действия (загрузка в Google Drive, который уже был закодирован).
Тем не менее, я изо всех сил пытаюсь найти документы в моей коллекции Firestore. Это мой код для чтения данных из моей «тестовой» коллекции в Firestore:
read() {
let result = [];
this.firestore
.collection("test")
.snapshotChanges()
.subscribe(item => {
item.map(row => {
result.push(row.payload.doc.data());
})
})
return result;
}
В другом компоненте, когда я вызываю эту функцию read () и ее console.log, я вижу все данные в коллекция. Однако, когда я пытаюсь пролистать документы и по отдельности console.log, ничего не выводится.
async doSomething() {
let allRows = await this.firebase.read(); // the function shown above
console.log(allRows); // I can see all the "rows"/documents in the collection
allRows.forEach(item => console.log(item)); // but if I do this, it doesn't output anything
console.log(allRows.length); // even this outputs 0
}
Я что-то упускаю из виду?