Firebase에서 노드를 삭제/제거하는 방법
웹 앱으로 파이어베이스를 사용하고 있습니다.외부 라이브러리를 사용하지 않고 일반 자바스크립트로 작성되었습니다.
.on("child_added")을 사용하여 "push"하고 데이터를 검색할 수 있지만, '.remove()'가 지정된 방식으로 작동하지 않습니다.API에 따르면,
"Firebase.remove() - 이 Firebase 위치에서 데이터를 제거합니다.하위 위치에 있는 모든 데이터도 삭제됩니다.삭제의 효과가 즉시 표시됩니다."
그러나 제거는 전체 스크립트 실행이 완료된 경우에만 즉시 수행되지 않습니다.저는 제거한 후 즉시 제거된 트리를 사용해야 합니다.
코드 예제:
ref = new Firebase("myfirebase.com") //works
ref.push({key:val}) //works
ref.on('child_added', function(snapshot){
//do stuff
}); //works
ref.remove()
//does not remove until the entire script/page is done
여기에도 비슷한 게시물이 있지만 저는 Ember 라이브러리를 사용하지 않고 있으며, API가 설명하는 것처럼 단순해야 하는 것에 대한 해결책인 것 같습니다.
문제는 당신이 전화를 한다는 것입니다.removeFirebase의 루트에 있습니다.
ref = new Firebase("myfirebase.com")
ref.remove();
그러면 API를 통해 전체 Firebase가 제거됩니다.
그러나 일반적으로 다음 작업을 수행하는 특정 하위 노드를 제거할 수 있습니다.
ref.child(key).remove();
이 코드가 누군가에게 도움이 되기를 바랍니다. 공식 Google Firebase 문서에 나와 있습니다.
var adaRef = firebase.database().ref('users/ada');
adaRef.remove()
.then(function() {
console.log("Remove succeeded.")
})
.catch(function(error) {
console.log("Remove failed: " + error.message)
});
Firebase.remove()대부분의 Firebase 메서드는 비동기식이므로 이벤트를 청취하여 언제 어떤 일이 발생했는지 알아야 합니다.
parent = ref.parent()
parent.on('child_removed', function (snapshot) {
// removed!
})
ref.remove()
Firebase 문서에 따르면 네트워크 연결이 끊기는 경우에도 작동해야 합니다.변경사항이 Firebase 서버와 실제로 동기화되었는지 알고 싶다면 콜백 기능을 다음으로 전달할 수 있습니다.Firebase.remove방법:
ref.remove(function (error) {
if (!error) {
// removed!
}
}
레코드를 제거합니다.
var db = firebase.database();
var ref = db.ref();
var survey=db.ref(path+'/'+path); //Eg path is company/employee
survey.child(key).remove(); //Eg key is employee id
다른 사람들이 언급한 것처럼.remove()비동기입니다.우리 모두는 빛의 속도에 있더라도 '순간적으로' 아무 일도 일어나지 않는다는 것을 알아야 합니다.
당신이 '즉각'을 의미하는 것은 다음 코드 라인이 통화 후에 실행될 수 있어야 한다는 것입니다..remove()비동기식 작업의 경우 다음 행은 데이터가 제거되었을 때가 될 수 있지만 그렇지 않을 수도 있습니다. 즉, 우연과 경과 시간에 전적으로 달려 있습니다.
.remove()에서는 작업이 완료되었음을 알고(오류 유무에 관계없이) 작업을 수행하기 위해 이 상황을 처리하는 데 도움이 되는 콜백 함수 하나의 매개 변수를 사용합니다. .push()두 개의 매개 변수, 값 및 콜백을 사용합니다..remove().
다음은 수정된 코드 예제입니다.
ref = new Firebase("myfirebase.com")
ref.push({key:val}, function(error){
//do stuff after push completed
});
// deletes all data pushed so far
ref.remove(function(error){
//do stuff after removal
});
액시오스를 사용하고 서비스 콜을 통해 시도하는 경우.
URL: https://react-16-demo.firebaseio.com/
Schema Name: todos
Key: -Lhu8a0uoSRixdmECYPE
axios.delete(`https://react-16-demo.firebaseio.com/todos/-Lhu8a0uoSRixdmECYPE.json`). then();
도울 수 있습니다.
언급URL : https://stackoverflow.com/questions/26537720/how-to-delete-remove-nodes-on-firebase
'source' 카테고리의 다른 글
| VBA를 사용하여 Excel 시트를 현재 디렉토리에 저장 (0) | 2023.06.10 |
|---|---|
| 이 식은 호출할 수 없습니다.'번호' 유형에 호출 서명이 없습니다. (0) | 2023.06.10 |
| Oracle: DBMS_UTILITY.EXEC_DDL_STATION 대 즉시 실행 (0) | 2023.06.10 |
| 모든 그룹을 선택하고 사용자가 그룹에 있는지 확인합니다. (0) | 2023.06.10 |
| GetText를 사용하여 클립보드에서 텍스트 가져오기 - 빈 클립보드에서 오류 방지 (0) | 2023.06.10 |