Удалить объект из firebase с помощью JavaScript

Я устанавливаю некоторые объекты в базе данных firebase и показываю их в таблице HTML с «child_added» и append (), чтобы динамически добавлять их, как только они добавляются в базу данных, и должна быть кнопка удаления в каждой строке таблицы, но проблема в том, что я не могу заставить эту кнопку удаления работать …

Вот как выглядит структура базы данных:

Assets: { -KkBgUmX6BEeVyrudlfK: { id: '-KkBgUmX6BEeVyrudlfK', name: 'John', brand: 'HP' } -KkDYxfwka8YM6uFOWpH: { id: '-KkDYxfwka8YM6uFOWpH', name: 'Jack', brand: 'Dell' } } 

И это мой index.js :

 var rootRef = firebase.database().ref().child("Assets"); $("#table_body").on('click','.delete-btn', function(e){ var $row = $(this).closest('tr'), rowId = $row.data('id'); var assetKey = rootRef.child("id"); //it should remove the firebase object in here rootRef.child(assetKey).remove() //after firebase confirmation, remove table row .then(function() { $row.remove(); }) //Catch errors .catch(function(error) { console.log('ERROR'); }); }); rootRef.on("child_changed", snap => { var assetKey = snap.child("id").val(); var name = snap.child("name").val(); var brand = snap.child("brand").val(); $("#table_body").append(""+ "" + name + "" + "" + brand + "" + "
"+ ""+ "
"); });

assetKey который находится внутри rootRef.on("child_changed", snap => { если показано на console.log, возвращает правильное значение для ключа объекта, но «assetKey» на $("#table_body").on('click','.delete-btn', function(e){ работает неправильно …

Эта строка выглядит неправильно для меня (попытка получить несуществующее свойство id верхнего уровня Assets node):

 var assetKey = rootRef.child("id"); 

Попробуйте это вместо этого:

 var rowId = $row.data('id'); rootRef.child(rowId).remove() ...