为什么remove()不起作用

时间:2017-09-26 12:48:26

标签: firebase web

我有搜索解决方案,但我仍然无法删除数据库中的数据。 这是我的代码。

  if (e.target.classList.contains('delete')) {
  idd.value =  feedbackNode.querySelector('.feedback_id').innerText;
   var vfeedbacksref = db.ref('feedback');
  vfeedbacksref.orderByKey().once("value").then(function(snapshot) {
     snapshot.forEach(function(childSnapshot) {
      childSnapshot.forEach(function(data) {  

        if(idd.value == data.key){
          console.log(data.key);
          vfeedbacksref.child(data.key).remove();

       }
  }

我的数据库看起来像这样。

feedback{

 "1" : {
   "-Kuwhb8N9YmqQulgHSLe" : {
   "date_created" : "26/09/2017",
   "feedback" : "cool spot",
  "feedback_id" : "-Kuwhb8N9YmqQulgHSLe",
  "rate" : "2.0",
  "to_user_id" : "1",
  "user_id" : "TTV9rnGW1wPm0sNFgbkn1qX01Ci2"
   }
 "2" : {
   }

1 个答案:

答案 0 :(得分:0)

您想要删除feedback/1/-Kuwhb8N9YmqQulgHSLe

当您尝试此vfeedbacksref.child(data.key).remove();时,它指向feedback/-Kuwhb8N9YmqQulgHSLe,这会导致错误,因为feedback

中没有此类节点

试试这个vfeedbacksref.child(childSnapshot.key).child(data.key).remove();