Node.js 在Firestore document Delete上删除Firebase存储中某个目录的所有文件
我有一个集合Node.js 在Firestore document Delete上删除Firebase存储中某个目录的所有文件,node.js,firebase,google-cloud-platform,google-cloud-functions,google-cloud-storage,Node.js,Firebase,Google Cloud Platform,Google Cloud Functions,Google Cloud Storage,我有一个集合项,每个文档都有一个字段id。每个文档都有与之关联的图像,以相同的文件夹名id存储在Firebase存储中的目录(文件夹)中。删除Firebase存储中的每个id文件夹各自的Firestore文档时,我想将其删除。在我的Firebase云函数日志中,行console.log(成功删除了项目id为:${id}的图像)已成功打印,但未删除文件夹 编辑:我尝试手动为前缀:'${id}/'输入文件夹名,结果成功了。因此,连接Firebase存储不是问题,而是这条线路的问题。NVM。线路 前缀
项
,每个文档都有一个字段id
。每个文档都有与之关联的图像,以相同的文件夹名id
存储在Firebase存储中的目录(文件夹)中。删除Firebase存储中的每个id
文件夹各自的Firestore文档时,我想将其删除。在我的Firebase云函数日志中,行console.log(
成功删除了项目id为:${id}的图像)代码>已成功打印,但未删除文件夹
编辑:我尝试手动为前缀:'${id}/'
输入文件夹名,结果成功了。因此,连接Firebase存储不是问题,而是这条线路的问题。NVM。线路
前缀:'${id}/'
应该是反勾号,而不是单引号
-__-刚刚意识到我的问题。我用单引号写了前缀行,而不是倒勾
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}`);
}
});
})