在 Firebase 中自動進行數據清理
要有效刪除超過兩小時的 Firebase 數據,請考慮以下方法:
Firebase限制:
Firebase 不提供「兩小時前」等動態參數的查詢。但是,它可以執行特定值的查詢,例如“在特定時間戳之後”。
基於時間的刪除:
實現定期執行的程式碼片段刪除當時超過兩小時的資料。
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(); });
實作詳細資訊:
雲函數對於Firebase:
如果您希望此程式碼在背景定期運行,您可以使用Cloud Functions for 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 中自動刪除超過兩小時的資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!