javascript - 用户删除帐户时使用云功能删除 Firebase Storage 文件夹
问题描述
我对云功能非常陌生,当他们删除帐户时,我试图删除保存在 Firebase 存储文件夹中的用户图像。
我设置了一个触发器,所以当用户删除那里的帐户时,我得到了用户的 UID
然后我得到我的 Firestore 集合的完整路径,我保存了所有图像 url
之后在 forEach 循环中,我在每个图像上调用 delete,但我在终端中收到以下错误,我正在使用 javascript
> (node:6118) UnhandledPromiseRejectionWarning: Error: Not Found
> at processTicksAndRejections (internal/process/task_queues.js:97:5)
我对这一切都很陌生,所以感谢任何帮助我的代码是
const functions = require("firebase-functions");
const admin = require("firebase-admin");
const { firestore, auth } = require("firebase-admin");
const { Storage } = require('@google-cloud/storage');
const { user } = require("firebase-functions/lib/providers/auth");
admin.initializeApp();
exports.deleteAllConversati = functions.auth.user().onDelete(async (user) => {
const snap = await admin.firestore().collection(`app_users/cv_Images/user_uid_${user.uid}`).get()
const bucket = admin.storage().bucket();
let deletedPomises = [];
if (snap.size === 0) {
console.log(`zero`)
return null;
} else {
snap.forEach( doc => {
console.log(doc.data().cv_Images)
const img = doc.data().cv_Images
return bucket.file(img).delete();
})
}
})
解决方案
推荐阅读
- node.js - 节点请求添加标头
- python - 检查 JSON 响应是否有对象
- flutter - BoxConstraints 在使用 DraggableScrollableSheet 时强制使用无限高
- three20 - 如何使用地图功能对任意定位的框进行随机旋转?我试过 rotateY/X = { Math.random() * Math.Pi }
- macros - 如何避免模式中的代码重复?
- java - 自定义资源布局输入未显示任何值
- python - Python:循环嵌套字典的问题
- java - JSoup - 如何仅提取段落中的href
- javascript - Javascript [Chrome 扩展] 开发中如何使用 setInterval
- excel - 如何获取在自己的子功能下具有相同约束的主要功能的总数?