Automatisation du nettoyage des données dans Firebase
Pour supprimer efficacement les données Firebase datant de plus de deux heures, envisagez l'approche suivante :
Limites de Firebase :
Firebase ne propose pas de requêtes avec dynamique des paramètres comme "il y a deux heures". Cependant, il peut exécuter des requêtes pour des valeurs spécifiques, telles que « après un horodatage particulier ».
Suppression basée sur le temps :
Implémentez un extrait de code qui s'exécute périodiquement pour supprimer les données datant de plus de deux heures à ce moment-là.
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(); });
Mise en œuvre Détails :
Fonctions Cloud pour Firebase :
Si vous souhaitez que ce code s'exécute périodiquement en arrière-plan, vous pouvez utiliser Cloud Functions pour 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); }); });
Remarque :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!