Padamkan Data Firebase Lebih Lama Daripada 2 Jam
Soalan:
Untuk mengelakkan kependaman dan mengoptimumkan prestasi pangkalan data, adalah penting untuk memadam data lapuk dengan cekap. Soalan ini mencari cara untuk mengalih keluar data Firebase yang berusia lebih dua jam.
Penyelesaian:
Firebase tidak membenarkan pertanyaan dengan parameter dinamik seperti "dua jam yang lalu ." Sebaliknya, kami boleh melaksanakan pertanyaan untuk cap masa tertentu, seperti "selepas tarikh dan masa lalu tertentu."
Untuk memadamkan data lama, pertimbangkan coretan kod berikut:
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(); });
Begini cara ia berfungsi:
Untuk Fungsi Awan untuk 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); }); });
Fungsi ini dilaksanakan apabila data diubah suai di bawah /path/to/items, memadamkan nod anak hanya apabila ia sedang diubah suai.
Atas ialah kandungan terperinci Bagaimana untuk Memadamkan Data Firebase Lebih Lama Daripada Dua Jam?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!