2시간이 지난 Firebase 데이터 삭제
질문:
지연 시간과 데이터베이스 성능을 최적화하려면 오래된 데이터를 효율적으로 삭제하는 것이 중요합니다. 이 질문은 2시간이 넘은 Firebase 데이터를 제거하는 방법을 모색합니다.
해결책:
Firebase에서는 "2시간 전"과 같은 동적 매개변수를 사용한 쿼리를 허용하지 않습니다. ." 대신 "과거 특정 날짜 및 시간 이후"와 같은 특정 타임스탬프에 대한 쿼리를 실행할 수 있습니다.
오래된 데이터를 삭제하려면 다음 코드 조각을 고려하세요.
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의 경우:
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); }); });
이 함수는 다음을 실행합니다. /path/to/items에서 데이터가 수정될 때마다 수정되는 경우에만 하위 노드를 삭제합니다.
위 내용은 2시간이 지난 Firebase 데이터를 삭제하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!