2017-04-21 73 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

相關問題