【发布时间】:2018-03-01 09:31:33
【问题描述】:
我想要一个删除 10 小时大的孩子的函数。到目前为止我有这段代码,但是如果我将它部署到 Firebase 云函数,它会立即从数据库中删除所有数据。我不确定我做错了什么。请帮忙!
exports.deleteOldItems = functions.database.ref('Rollerbanken/{pushId}')
.onWrite(event => {
var ref = event.data.ref.parent; // reference to the items
var now = Date.now();
var cutoff = now - 10 * 60 * 60 * 1000;
var oldItemsQuery = ref.orderByChild('timestamp').endAt(cutoff);
return oldItemsQuery.once('value', function(snapshot) {
// create a map with all children that need to be removed
var updates = {};
snapshot.forEach(function(child) {
updates[child.key] = null
});
// execute all updates in one go and return the result to end the function
return ref.update(updates);
});
});
我的 Firebase 数据库结构:
{
"Rollerbanken" : {
"-Ku_Ywh8wElDdwNqa0KW" : {
"Extrainformatie" : "",
"Latitude" : "51.8306880305073",
"Longitude" : "5.90483402833892",
"Staater" : "Staat er nog steeds",
"Staaternietmeer" : "",
"Stad" : "Nijmegen",
"Tijd" : "19:50",
"TijdControle" : "19:50",
"TijdControleniet" : "",
"TypeControle" : "Rollerbank",
"TypeControle2" : "Rollerbank",
"postKey" : "-Ku_Ywh8wElDdwNqa0KW",
"timestamp" : 1506016223000
}
}
}
【问题讨论】:
-
你能给我们看一个存储在
Rollerbanken/{pushId}的项目的例子吗? -
当然,我编辑了!
标签: javascript firebase firebase-realtime-database google-cloud-functions firebase-admin