如何使用CurrentUserId在Firebase中执行CRUD操作?

时间:2018-12-20 11:59:41

标签: javascript firebase firebase-realtime-database firebase-authentication crud

我正在创建一个简单的网站,并且无法使用带有currentUserId的firebase实时数据库进行操作。

我的身份验证系统运行良好;我可以在数据库上登录/注册/注销。而且我可以通过从表单获取输入来将数据写入Firebase。

    //GETTING DATA WITH FORM
    
    // Listen for form submit
    document.getElementById('form').addEventListener('submit', submitForm);
    
    
    // Submit form
    function submitForm(e){
      e.preventDefault();
    
      // Get values
      var name = getInputVal('name');
      var sets = getInputVal('sets');
      var reps = getInputVal('reps');
      var weights = getInputVal('weights');
      
      // Write data
      writeData(name, sets, reps, weights);
    
      // Clear form
      document.getElementById('form').reset();
    }
    
    
    // Function to get form values
    function getInputVal(id){
      return document.getElementById(id).value;
    }
    
    
    //CRUD OPERATIONS
    
    // Reference
    var DataRef = firebase.database().ref('users/'  + 'exercises/');
    
    // Write data to database
    function writeData(name, sets, reps, weights){
      var newDataRef = DataRef.push();
      newDataRef.set({
    
        name: name,
        sets: sets,
        reps: reps,
        weights: weights,
        
      });
    }

在解决此id问题之前,我不想开始阅读,更新和删除。

那么如何对每个具有id的用户执行CRUD操作?我该怎么办?

1 个答案:

答案 0 :(得分:0)

您是否要问如何在当前用户特定的位置写入数据?如果是这样:

var currentUser = firebase.auth().currentUser;
var DataRef = firebase.database().ref('users/' + currentUser.uid + '/exercises/');

请注意,这仅在保证当前用户已经登录的情况下才有效。如果不能保证将上述代码放在auth state listener中。