exports.onWriteCancelExtraStorage = functions.database.ref("users/{userID}").onWrite((snapshot,context) => {
const dues = snapshot.after.val();
const userID = context.params.userID
const query = {
directory: userID+"/images/"
};
return admin.storage().bucket().getFiles(query,function(err, files) {
if (!err) {
return files.forEach(function(file) {
var boolIfFindend = false
if (snapshot.after.exists()) {
snapshot.after.forEach(function (childSnapshot){
const imageName = childSnapshot.key;
if (childSnapshot.child("serviceImageUrl").val() === file.name) {
console.log("Trovata l'immagine "+ file.name)
boolIfFindend = true
}
});
if (boolIfFindend === false) {
console.log("Questa immagine è da eliminare perchè non è stata trovata : "+file.name);
file.delete()
} else {
console.log("Questa immagine non è da eliminare perchè è stata trovata : "+file.name);
}}
});
} else {
console.log(err)
return 0
}
});
});
原木:
Questa immagine non è da eliminare
紧接着
Questa immagine è da eliminare
我正在尝试从图像中清除数据库,这些图像仍然独立且未绑定到数据库中的任何数据。它实际上效果很好,但有时会出现一些问题。
图像被连续评估两次,生成两个不同且相反的连续日志,循环中必须存在一个错误,导致首先评估图像为不被删除,然后作为删除,而实际上它不应该被评估两次,数据库是好的,他们确保不应该删除图像,因为绑定它的数据存在于数据库中。
不应删除该图像,但仍应将其删除。为什么?
海绵宝宝撒
相关分类