Javascript 如何访问firebase数据库中的用户UID
我正在开发一个基于当地联赛的梦幻足球网络应用程序。到目前为止,当使用firebase auth创建用户时,会在my firebase中使用用户uid创建相应的节点,如下所示:Javascript 如何访问firebase数据库中的用户UID,javascript,angularjs,firebase,firebase-realtime-database,firebase-authentication,Javascript,Angularjs,Firebase,Firebase Realtime Database,Firebase Authentication,我正在开发一个基于当地联赛的梦幻足球网络应用程序。到目前为止,当使用firebase auth创建用户时,会在my firebase中使用用户uid创建相应的节点,如下所示: $scope.signUp = function (){ var username = $scope.user.email; var password = $scope.user.password; var teamname = $scope.user.teamname; var fullnam
$scope.signUp = function (){
var username = $scope.user.email;
var password = $scope.user.password;
var teamname = $scope.user.teamname;
var fullname = $scope.user.fullname;
var ref = firebase.database().ref().child('users');
if(username && password){
var auth = $firebaseAuth();
auth.$createUserWithEmailAndPassword(username,
password).then(function(user){
console.log("User Successfully Created");
let usersRef = firebase.database().ref("users");
//child is created under users node with a user's user id as
child name
usersRef.child(user.uid).set({
email: user.email,
userName: username,
teamname: teamname,
fullname: fullname,
total: 0,
week:0
});
$location.path('/home');
}).catch(function(error){
$scope.errMsg = true;
$scope.errorMessage = error.message;
});
}
};
$scope.saveTeam = function(user){
$scope.history = [];
var uid = user.uid;
var ref2 = firebase.database().ref("users/" + auth.uid + "/week");
ref2.set($scope.history);
};
那部分很好用。在数据库中,JSON树如下所示:
users:{
user UID: {
email:
teamname:
fullname:
week:
}
}
$scope.saveTeam = function(user){
$scope.history = [];
var uid = user.uid;
var ref2 = firebase.database().ref("users/" + auth.uid + "/week");
ref2.set($scope.history);
};
我的所有观点都使用一项服务:
.service('CommonProp',['$location','$firebaseAuth', function($location,$firebaseAuth){
var user = "";
var auth = $firebaseAuth();
return {
getUser:function(){
if(user == ""){
user = localStorage.getItem("userEmail");
}
return user;
},
setUser: function(value){
localStorage.setItem("userEmail", value);
user = value;
},
logoutUser: function(){
auth.$signOut();
console.log("Logged Out Successfully");
user = "";
localStorage.removeItem("userEmail");
$location.path('/home');
}
};
}]);
$scope.saveTeam = function(user){
$scope.history = [];
var uid = user.uid;
var ref2 = firebase.database().ref("users/" + auth.uid + "/week");
ref2.set($scope.history);
};
问题
$scope.saveTeam = function(user){
$scope.history = [];
var uid = user.uid;
var ref2 = firebase.database().ref("users/" + auth.uid + "/week");
ref2.set($scope.history);
};
我的问题是,当我转到“选择播放器”视图时,我不知道如何访问用户UID,以便我可以设置每个用户每周的选择。这就是我试图做的:`
$scope.saveTeam = function(user){
$scope.history = [];
var uid = user.uid;
var ref2 = firebase.database().ref("users/" + auth.uid + "/week");
ref2.set($scope.history);
};
是否有一种方法可以访问每个用户各自用户uid下各自的“周”子节点?为此,您需要监视
auth.$onAuthStateChanged
。请参阅@FrankvanPuffelen using auth.$onAuthStateChanged我的代码“ref2”中的firebase数据库如何准确获取相应用户的uid?很抱歉,github链接没有明确说明这一点。您可以从firebaseUser.uid
获得它。
$scope.saveTeam = function(user){
$scope.history = [];
var uid = user.uid;
var ref2 = firebase.database().ref("users/" + auth.uid + "/week");
ref2.set($scope.history);
};