我对云功能非常陌生,我正在尝试删除用户在删除其帐户时保存在 Firebase Storage 文件夹中的图像。
我设置了一个触发器,所以当用户删除那里的帐户时,我会得到用户的 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();
})
}
})