【发布时间】:2021-02-27 16:48:12
【问题描述】:
现在我正在尝试更新我的项目中的图片。 我可以更新云火商店中的图片网址。 但我也想使用firebase云功能从云存储中删除之前的图片。
我想要实现的是,当我上传新图片时,从云存储中删除之前的图片。
我在“产品”集合中有“样品”字段。当“样本”字段中的图片更新时,我想删除云存储中的原始图片。
但我在云函数日志控制台中遇到错误。
TypeError: 无法读取未定义的属性“forEach”
这是我的云函数代码。
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp();
const Firestore = admin.firestore;
const db = Firestore();
exports.onProductUpdate = functions.firestore.document('Product/{productId}').onUpdate(async(snap, context) => {
const deletePost = snap.before.data().sample;
let deletePromises = [];
const bucket = admin.storage().bucket();
deletePost.images.forEach(image => {
deletePromises.push(bucket.file(image).delete())
});
await Promise.all(deletePromises)
})
我想修正这个错误。
【问题讨论】:
-
这意味着
deletePost.images未定义 -console.log(deletePost.images)输出什么?
标签: javascript node.js firebase google-cloud-functions google-cloud-storage