Firebase でのデータ クリーンアップの自動化
2 時間以上古い Firebase データを効率的に削除するには、次のアプローチを検討してください。
ファイアベース制限事項:
Firebase は、「2 時間前」のような動的パラメータを使用したクエリを提供しません。ただし、「特定のタイムスタンプの後」など、特定の値に対してクエリを実行できます。
時間ベースの削除:
定期的に実行するコード スニペットを実装します。 2 時間以上経過したデータは削除しますtime.
var ref = firebase.database().ref('/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(); });
実装の詳細:
Cloud Functions for Firebase:
このコードをバックグラウンドで定期的に実行したい場合は、Cloud Functions for Firebase を使用できます。 Firebase:
exports.deleteOldItems = functions.database.ref('/path/to/items/{pushId}') .onWrite((change, context) => { var ref = change.after.ref.parent; var now = Date.now(); var cutoff = now - 2 * 60 * 60 * 1000; var oldItemsQuery = ref.orderByChild('timestamp').endAt(cutoff); return oldItemsQuery.once('value', function(snapshot) { var updates = {}; snapshot.forEach(function(child) { updates[child.key] = null; }); return ref.update(updates); }); });
注:
以上がFirebase で 2 時間以上古いデータの削除を自動化するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。