2017-02-13 124 views
0

我遇到了一個有關Firebase數據庫的問題(JavaScript和離子版)。我有一個代碼,以顯示用戶的名稱:如何從Firebase數據庫獲取數據到離子?

.controller('accountController',['$scope', '$firebaseArray', 'CONFIG', '$document', '$state', function($scope, $firebaseArray, CONFIG, $document, $state) { 

    var userId = '-KcsNqRpO70spcMIPaKg'; 
    return firebase.database().ref('/accounts/' + userId).once('value').then(function(snapshot) { 
    var displayName = snapshot.val().name; 
    $scope.$apply(function() { 
      $scope.displayName = displayName; 
     }); 
    console.log(displayName); 
    // ... 


    }); 
}]) 

這工作得很好,當我直接使用-KcsNqRpO70spcMIPaKg,但我想我的代碼直接獲得這個字符串通過簡單的匹配登錄用戶的帳戶在數據庫中。

我試着用var userId = firebase.auth().currentUser.uid;來代替,但它並沒有抓住-KcsN...,而是從認證中抓取實際的uid。

我迷路了。我不明白如何抓住它。有任何想法嗎?

回答

0

好吧,在搜索了幾個小時之後,我希望我會幫助像我這樣的新手,這個問題的答案是實際使用「Set」而不是push,並將您的Firebase創建的隨機密鑰重命名爲UID用戶:

firebase.database().ref().child('/accounts/' + user.uid).set({ 
       name: userSignup.displayname, 
       email: userSignup.cusername, 
      password: userSignup.cpassword, 
      description: "No description for this user", 
      facebook: "", 
      twitter: "", 

      }).then(function() { 
      // Update successful. 
      $state.go("login"); 
      }, function(error) { 
      // An error happened. 
      console.log(error); 
      }); 
相關問題