【发布时间】:2019-09-19 21:48:20
【问题描述】:
在childSnapshot.val().k我有这个带云功能的:
{ '-LdmZIlKZh3O9cR8MOBU':
{ id: 'ceccomcpmoepincin3ipwc',
k: 'test',
p: 'somepath',
t: 1556700282278,
u: 'username' },
'-Llkocp3ojmrpemcpo3mc':
{ id: '[epc[3pc[3m,',
k: 'test2',
p: 'somepath2',
t: 1556700292290,
u: 'username2' }
}
我需要每个路径值,以便从存储中删除该文件。如何访问这个值?
我用于刷新状态、从存储中删除和删除文件的云功能:
var db = admin.database();
var ref = db.ref('someref');
ref.once("value").then((snapshot) => {
var updates = {};
var patObject = {
fid: null,
ft: null,
ftr: null,
fu: null,
id: null,
lid: null,
lt: null,
ltr: null,
lu: null,
t: null,
tr: null,
v: null,
g: null,
l: null,
k: null
};
snapshot.forEach((childSnapshot) => {
if(childSnapshot.numChildren() >= 14){
var t = childSnapshot.val().t;
if((t===1 || t===5) && childSnapshot.val().tr > 0) {
if(childSnapshot.val().tr - 12 > 0){
updates[childSnapshot.key + '/tr'] = childSnapshot.val().tr - 12;
if(childSnapshot.val().k !== ""){
console.log('path: ', childSnapshot.val().k);
childSnapshot.val().k.snapshot.forEach(kpath => {
console.log('path: ', "path");
});
}
} else {
updates[childSnapshot.key] = patObject;
}
}
if(childSnapshot.val().tr<=0){
updates[childSnapshot.key] = patObject;
}
} else {
updates[childSnapshot.key] = patObject;
}
});
ref.update(updates);
res.send("");
return "";
}).catch(reason => {
res.send(reason);
})
return "";
【问题讨论】:
-
你能分享你的云函数的整个代码吗?
-
是的,没问题...
-
“从存储中删除该文件”是什么意思?来自实时数据库或 Cloud Storage for Firebase
-
您的云函数代码中没有
childSnapshot.val().kom。 -
我在实时数据库中有用于 Firebase 存储的路径,我想获取该路径以便在从实时数据库中删除此对象时删除图片...
标签: firebase firebase-realtime-database google-cloud-functions google-cloud-storage