현재 Angular 1.4.5 및 Firebase 4.3.0으로 작업 중이며 몇 가지 질문을해야합니다.Angular JS를 사용하여 Firebase에 자동으로 생성 된 키 추가
Firebase에 의해 자동으로 생성 된 키를 특정 항목의 데이터에 어떻게 추가 할 수 있는지 알고 싶습니다.
예를 들어, 튜토리얼을 따라, 나는 UID
내 중포 기지 데이터 구조를 사용하여 중포 기지에 의해 생성 된 사용자 ID 저장하기 위해 관리했습니다 :
을 그리고이 코드
입니다myApp.factory('Authentication', ['$rootScope', '$location', '$firebaseObject','$firebaseAuth',function($rootScope, $location, $firebaseObject, $firebaseAuth){
var ref = firebase.database().ref();
var auth = $firebaseAuth();
var myObject;
auth.$onAuthStateChanged(function(authUser){
if(authUser){
var userRef = ref.child('users').child('accounts').child(authUser.uid);
var userObj = $firebaseObject(userRef);
$rootScope.currentUser = userObj;
}else {
$rootScope.currentUser = '';
}
});
myObject = {
login: function(user){
auth.$signInWithEmailAndPassword(
user.email,
user.password
).then(function(user){
$location.path('/home');
}).catch(function(error){
$rootScope.message = error.message;
});//signInWithEmailAndPassword
},//login
logout: function(){
return auth.$signOut();
}, //logout
requireAuth: function(){
return auth.$requireSignIn();
},//require Authentication
register: function(user){
auth.$createUserWithEmailAndPassword(
user.email,
user.password
).then(function(regUser){
var regRef = ref.child('users').child('accounts').child(regUser.uid).set({
date: firebase.database.ServerValue.TIMESTAMP,
regUser: regUser.uid,
firstname: user.firstname,
lastname: user.lastname,
email: user.email
}); //userinfo
myObject.login(user);
}).catch(function(error){
$rootScope.message = error.message;
});//createUserWithEmailAndPassword
}//register
};//return
return myObject;}]);//factory
이 항목은 Firebase (기능 uploadItem 및 uploadItem1)에 항목을 추가 할 때 사용하는 코드입니다.
pageControllers.controller('UploadController',['$scope', '$firebaseAuth', '$firebaseArray',
function($scope, $firebaseAuth, $firebaseArray){
var ref = firebase.database().ref();
var auth = $firebaseAuth();
auth.$onAuthStateChanged(function(authUser){
if(authUser){
var recipesRef = ref.child('users').child('accounts').child(authUser.uid).child('recipes');
var recipesInfo = $firebaseArray(recipesRef);
var recipes1Ref = ref.child('users').child('recipes');
var recipes1Info = $firebaseArray(recipes1Ref);
var favoritesRef = ref.child('users').child('accounts').child(authUser.uid).child('favorites');
var favoritesInfo = $firebaseArray(favoritesRef);
$scope.recipes = recipesInfo;
$scope.favorites = favoritesInfo;
$scope.uploadItem = function(){
recipesInfo.$add({
name: $scope.foodname,
category: $scope.foodcategory,
image: $scope.foodimage,
howtocook:$scope.foodhowtocook,
video:$scope.foodvideo,
date: firebase.database.ServerValue.TIMESTAMP
}).then(function(){
$scope.foodname = ' ';
$scope.category = ' ';
$scope.foodimage = ' ';
$scope.foodhowtocook = ' ';
$scope.foodvideo = ' ';
$scope.message = 'Your recipes has been uploaded successfully!!';
});//promise
}//uploadItem
$scope.uploadItem1 = function(){
recipes1Info.$add({
name: $scope.foodname,
category: $scope.foodcategory,
image: $scope.foodimage,
howtocook:$scope.foodhowtocook,
video:$scope.foodvideo,
date: firebase.database.ServerValue.TIMESTAMP
}).then(function(){
$scope.foodname = ' ';
$scope.category = ' ';
$scope.foodimage = ' ';
$scope.foodhowtocook = ' ';
$scope.foodvideo = ' ';
$scope.message = 'Your recipes has been uploaded successfully!!';
});//promise
}//uploadItem
$scope.addFavorite = function(name){
favoritesInfo.$add({
name: name,
// name: $scope.itemName,
// index: $scope.itemIndex,
date: firebase.database.ServerValue.TIMESTAMP
}).then(function(){
$scope.message = 'Success!';
$('#Popup').modal();
console.log(name);
});//promise
}//uploadItem
$scope.deleteFavorite = function(key){
favoritesInfo.$remove(key);
} //deleteFavorite
$scope.deleteRecipe = function(key){
recipesInfo.$remove(key);
} //deleteFavorite
}//authUser
});//onAuthStateChanged}]);//myAll.controller
사용자 데이터에 uid를 넣는 것과 같은 데이터에 각 항목의 키를 추가하고 싶은데 어떻게해야할지 모르겠다.