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
Lepaskan: 2024-12-07 22:06:15
asal
806 orang telah melayarinya

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();
});
Salin selepas log masuk

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);
  });
});
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan