Я пытаюсь отправить массив с downloadUrl из хранилища Firebase в мой документ Firestore. Когда я использую приведенный ниже код, я получаю только пустой массив (матрицу) в Firestore, см. Изображение во вложении.
Пустой объект массива (матрицы) Firestore.
Мой текущий код (добавляется после создания документа в Firestore)
this.docRef = docRef.id;
this.houseRef = this.afs.collection('houses').doc(this.docRef);
if (this.filesToUpload && this.filesToUpload.length) {
for (var i = 0; i < this.filesToUpload.length; i++) {
console.log("Adding photo's" + this.filesToUpload[i]);
const filePath = 'images/' + docRef.id + '/' + i + '.jpg';
const ref = this.storage.ref(filePath);
// const task = ref.put(this.imagePaths[i], metadata).then((snapshot) => {
const task = ref.put(this.filesToUpload[i]).then((snapshot) => {
// const task = ref.put(imageBlob).then((snapshot) => {
console.log('Uploaded an image!');
const downloadUrl = ref.getDownloadURL();
console.log("downloadURL: " + downloadUrl);
this.images.push(String(downloadUrl));
});
}
this.imagesArray = this.images.map((obj) => { return Object.assign({}, obj) });
this.houseRef.update({'images': this.imagesArray});
}
Я хотел бы добавить массив в моем текущем документе Firestore, который выглядит следующим образом:
images: {
image0: {
downloadUrl: "path to firebase storage's downloadUrl"
}
}