Firebase CRUD,更新和删除问题

时间:2017-08-22 17:03:23

标签: javascript firebase firebase-realtime-database

我是firebase的新手,所以我尝试创建一个简单的CRUD函数,我只能保存数据。我不会使用newPostKey方法,因为这个网站上只有一个用户。我想更新user_name并使用plate_no值删除整个数据但我的代码不起作用。这是我的代码:

    function save_user() {
        var user_name = document.getElementById('user_name').value;
        var plate_no = document.getElementById('plate_no').value;

        var data = {
            user_name: user_name
        }

        var updates = {};
        updates['/users/' + plate_no] = data;
        firebase.database().ref().update(updates);

        alert('The User is Created Successfully!');
        reload_page();
    }

    function update_user() {
        var user_name = document.getElementById('user_name').value;
        var plate_no = document.getElementById('plate_no').value;

        var data = {
            user_id: plate_no,
            user_name: user_name
        }

        var updates = {};
        updates['/users/' + plate_no] = data;
        firebase.database().ref().update(updates);

        alert('The User is Updated Successfully!');
        reload_page();
    }

    function delete_user() {
        var user_id = document.getElementById('plate_no').value;

        firebase.database().ref().child('/users/' + plate_no).remove();
        alert('The User is Deleted Successfully!');
        reload_page();
    }

    function reload_page() {
        window.location.reload();
    }

1 个答案:

答案 0 :(得分:0)

update()和remove()返回Promise,使用回调或然后(),以便在确认操作完成后显示alert()。

或更好,使用.catch()来获取错误,看看它为什么不起作用。 即:

firebase.database().ref().child('/users/' + plate_no).remove()
   .then(() => { 
       console.log('success!, show alert now'); 
   }) 
   .catch(err => { 
       console.log('errorcode', err.code); 
   });