2 時間以上古い Firebase データの効率的な削除
Firebase でデータを管理する場合、データベースの効率を維持するために古いエントリをパージする必要があることがよくあります。 。一般的な課題の 1 つは、指定した期間 (2 時間など) より古いデータを削除することです。
クライアント側の削除に関する懸念
当初は、すべてのデータをループすることを検討していましたが、クライアント側で古いアイテムを削除します。ただし、このアプローチにはいくつかの欠点があります。
サーバー側の解決策
これらの問題に対処するには、削除プロセスをサーバー側に移すことができます。 Firebase はクエリ内の動的な日付パラメータをサポートしていません。ただし、特定の値に対してクエリを実行することはできます。
ref.orderByChild('timestamp').endAt(cutoff).limitToLast(1);
ここで、cutoff は 2 時間前を表すタイムスタンプを表します。 child_added イベントを使用して、この基準を満たす最後の子を繰り返し削除することで、古いデータを効率的に削除できます。
ref.on('child_added', snapshot => snapshot.ref.remove());
Cloud Functions の実装
または、Cloud Functions では次のことができます。このクリーンアップ タスクを実行するために使用されます非同期:
exports.deleteOldItems = functions.database.ref('/path/to/items/{pushId}') .onWrite((change, context) => { ... // Similar logic to the previous code });
結論
サーバー側コードを活用することで、不要なクライアント イベントをトリガーしたり、信頼性の低いクライアントに依存したりすることなく、古い Firebase データを確実かつ効率的に削除できます。接続性。
以上が2 時間以上古い Firebase データを効率的に削除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。