Как удалить данные (с prevChildKey) из базы данных Firebase Realtime? - PullRequest
0 голосов
/ 28 декабря 2018

Я задал вопрос до здесь , и я продолжаю проходить через тот же код.Я не могу понять, как удалить элементы с помощью prevChildKey.

Ошибка консоли:index.html

 <div id="list_div" class="list-div">
   </div>

index.js

        // Database Reference
            var DataRef = firebase.database().ref('users/' + currentUser.uid + '/exercises/');
    
        // Read data from database
            function readData(){
              //var readDataRef = firebase.database().ref('users/' + currentUser.uid + '/exercises/');    
              DataRef.on("child_added", function(data, prevChildKey) {
                var newData = data.val();
                console.log("ID: " + prevChildKey);
                console.log("name: " + newData.name);
                console.log("sets: " + newData.sets);
                console.log("reps: " + newData.reps);
                console.log("weights: " + newData.weights);
        
                document.getElementById("list_div").innerHTML+=`
                  
                  <div id="listitem_div" class="listitem-div">
                    <span class="listtext">Exercise Name: </span>${newData.name}<br>
                    <span class="listtext">Set: </span>${newData.sets}
                    <span class="listtext">Reps: </span>${newData.reps}
                    <span class="listtext">Weights: </span>${newData.weights}
                    <button type="submit" id="itemremove" class="itemremove"  onclick="deleteData(${prevChildKey})">Delete</button>
                  </div>
                `
              });
            }
                
        //Delete data from database
            function deleteData(prevChildKey){
                var newDataRef = firebase.database().ref('users/' + currentUser.uid + 'exercises/' + prevChildKey);
                  newDataRef.remove()
            }

1 Ответ

0 голосов
/ 28 декабря 2018

Получаемый вами prevChildKey не является ключом упражнения, которое вы хотите удалить.

Вместо этого используйте data.key, чтобы получить идентификатор упражнения и вызвать на нем команду remove.

console.log("ID: " + data.key);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...