在 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中文网其他相关文章!