Rumah >hujung hadapan web >tutorial js >Bagaimana untuk Memadamkan Data Firebase Lebih Lama Daripada Dua Jam?

Bagaimana untuk Memadamkan Data Firebase Lebih Lama Daripada Dua Jam?

Susan Sarandon
Susan Sarandonasal
2024-12-07 22:06:15835semak imbas

How to Delete Firebase Data Older Than Two Hours?

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:

  • Gunakan child_added dan bukannya nilai.
  • Tetapkan hadToLast(1) untuk memastikan hanya item terakhir selepas potongan dipadamkan.
  • Apabila item dipadamkan, Firebase mencetuskan child_added untuk item "terakhir" seterusnya sehingga semua item lapuk dialih keluar.

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn