2017-04-21 79 views
1

我想删除两个小时以前的任何数据。我知道这个问题已经在这里找到答案Delete firebase data older than 2 hoursFirebase Cloud功能在特定时间后自动删除数据

答案是:

var ref = new Firebase('https://yours.firebaseio.com/path/to/items/'); 
var now = Date.now(); 
var cutoff = now - 2 * 60 * 60 * 1000; 
var old = ref.orderByChild('timestamp').endAt(cutoff).limitToLast(1); 
var listener = old.on('child_added', function(snapshot) { 
    snapshot.ref().remove(); 
}); 

但有人可以在将其转换成它的NodeJS我可以部署到云火力功能功能帮助。

+1

博客文章专门解决此问题:https://firebase.googleblog.com/2017/03/how-to-schedule-cron-jobs-with-cloud.html。另请参阅此[Cloud Functions示例](https://github.com/firebase/functions-samples/tree/master/delete-unused-accounts-cron) –

+1

请参阅http://stackoverflow.com/questions/42790735/cloud -functions-for-firebase-trigger-on-time –

回答

2

云功能就像数据库中的一个触发器,它需要事件来激发作品的功能。可以查看here

对于你的情况,我建议使用http event

之后,你可以从你自己的服务器,或者GAE,或其他任何调用一个HTTP请求触发功能使cron作业。

+1

这是完全正确的。你会想要使用一个cron作业。使用Zapier的云端功能取得了成功。 Zapier允许您在cron上触发HTTP请求或将数据推送到Firebase。 – Espilon

相关问题