ここにタスクがあります。ユーザーが作成されると、それらのインスタンスをメインデータベースに追加して、それらに関連付けられたもの(リストやレシピ)を持たせたいと考えています。 .set()
と.update()
を実行しようとしましたが、どちらも自分のDB内にユーザーのインスタンスを追加したが、新しいユーザーが登録されるたびに上書きされてしまいます。その情報を上書きしないようにするにはどうすればいいですか?私は見つけた情報に基づいて自分の投稿を検索して更新し続けます。ここに私が持っている認証コードです。Firebaseデータベースにそのユーザのインスタンスを追加するユーザを作成するとどうなりますか?
app.controller("SampleCtrl", ["$scope", "Auth",
function($scope, Auth) {
$scope.auth = Auth;
$scope.createUser = function() {
$scope.message = null;
$scope.error = null;
// Create a new user
Auth.$createUserWithEmailAndPassword($scope.email, $scope.password, $scope.name)
.then(function(firebaseUser) {
$scope.message = "User created with uid: " + firebaseUser.uid;
const uid = firebaseUser.uid;
const dbref = firebase.database().ref().child('users');
dbref.update({
id: uid,
name: $scope.name
});
console.log(dbref.uid);
}).catch(function(error) {
$scope.error = error;
});
};
$scope.deleteUser = function() {
$scope.message = null;
$scope.error = null;
$scope.auth.$onAuthStateChanged(function(firebaseUser) {
$scope.firebaseUser = firebaseUser;
});
// Delete the currently signed-in user
Auth.$deleteUser().then(function() {
$scope.message = "User deleted";
}).catch(function(error) {
$scope.error = error;
});
};
}
]);
ありがとうございます!
****** EDIT **********
さて、情報が追加されるので、私が得たではなく、私は期待道インチ構造をこのようにしたい ユーザー ----- id ------- info idはキーで、infoは新しいオブジェクトを保持する値です。 私はこれを取得しています... a random serialized ID and then my user id and information object
質問はどうなりましたか?ランダムなシリアル化されたキーを取り除くにはどうすればよいですか?
私はこれをあなたがリンクした質問の重複とみなします。あなたがそれを閉じて(あなたの他の/より長い答えの重さを増やすように)それを閉じるとOKですか? –
良いアイデア、私は重複としてそれをフラグすることを忘れました –