source

Firebase에서 노드를 삭제/제거하는 방법

manycodes 2023. 6. 10. 09:31
반응형

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

반응형