2017-09-26 74 views
-1

我有搜索解决方案,但仍然无法删除我的数据库中的数据。 这是我的代码。为什么删除()不起作用

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" : { 
    } 
+0

你所说的“不工作”的意思?生成的错误消息是未执行的删除更新还是其他内容?描述你观察到的以及你想要发生的事情将会很有帮助。 – JohnH

+0

它没有错误,但仍无法删除数据。 –

+0

尝试'childSnapshot.child(data.key).remove();' – Hareesh

回答

0

您想要删除feedback/1/-Kuwhb8N9YmqQulgHSLe

当您尝试这个vfeedbacksref.child(data.key).remove();它指向feedback/-Kuwhb8N9YmqQulgHSLe这给错误的,因为这样的节点出现在feedback

没有尝试这种vfeedbacksref.child(childSnapshot.key).child(data.key).remove();

+0

childSnapshot是第一个孩子(1)。我想要删除的是第二个孩子中的数据(-Kuwhb8N9YmqQulgHSLe)。 –

+0

然后尝试'data.remove();' – Hareesh

+0

但我试过你的建议,它说childSnapshot.remove不是一个函数 –