【发布时间】:2019-10-20 13:46:26
【问题描述】:
exports.deleteItemImages = functions.firestore.document('items/{itemId}')
.onDelete(async (snap, context) => {
const deletedValue = snap.data();
const id = deletedValue.id;
if (id === null) {
return null;
}
console.log(`itemId to be deleted: ${id}`);
bucket.deleteFiles({
prefix: '${id}/'
}, function (err) {
if (!err) {
console.log(`Successfully deleted images with item id: ${id}`);
} else {
console.error(`Failed to remove images, error: ${err}`);
}
});
})
我有一个集合items,每个文档都有一个字段id。每个文档都有与之关联的图像,存储在 Firebase 存储中的目录(文件夹)中,文件夹名称相同 id。当删除其各自的 Firestore 文档时,我想删除 Firebase 存储中的每个 id 文件夹。在我的 Firebase 云函数日志中,console.log(Successfully deleted images with item id: ${id}); 行打印成功,但文件夹删除没有发生
编辑:我尝试手动输入prefix: '${id}/' 的文件夹名称,它起作用了。所以连接到 Firebase 存储不是问题,尤其是那条线。
【问题讨论】:
-
刚刚意识到我的问题。我用单引号写了前缀行,而不是反引号
标签: node.js firebase google-cloud-platform google-cloud-functions google-cloud-storage