5

Firebase データを指す一時的な URL を作成する方法はありますが、データ (および URL) は特定の時間 (5 分または 15 分) 後に破棄されます。

4

1 に答える 1

5

データがどのように保存されているかに応じて、タイムスタンプでデータを削除するためのいくつかの異なるオプションがあります。

データがソートされておらず、タイムスタンプを各レコードのフィールドとして保存していると仮定すると、最初のレコードから読み取りを開始し、保持したいレコードが見つかるまでそれらを削除できます。

<script>
var FB = new Firebase(YOUR_URL);
var childRef = FB.child( TABLE_WITH_RECORDS_TO_DELETE );
var oneWeekAgo = new Date().getTime()-1000*60*60*24*7; // one week ago

var fx = function(snapshot) { // keep a ref to this so we can call off later
   var v = snapshot.val();
   if( v.expires_on_date < oneWeekAgo ) {
      // delete the record
      snapshot.ref().remove();
   }
   else {
      // we found the first keeper, so we are done
      childRef.off('child_added', fx);
   }
}

// fetched records and test to see how old they are
childRef.on('childAdded', fx);
</script>

データがタイムスタンプでソートされている場合は、次のように取得および削除できます。

var FB = new Firebase(YOUR_URL);
var childRef = FB.child( TABLE_WITH_RECORDS_TO_DELETE );
var oneWeekAgoMinusOne = new Date().getTime()-1000*60*60*24*7-1; // one week ago

// fetched using endAt, so only retrieving older than 1 week
childRef.endAt( oneWeekAgoMinusOne ).on('childAdded', function(snapshot) {
    // delete the record
   snapshot.ref().remove();
});
于 2012-12-24T05:39:07.930 に答える