Hier ist die Aufgabe. Wenn ein Benutzer erstellt wird, möchte ich eine Instanz von ihnen in der Hauptdatenbank hinzufügen, damit ihnen dann Dinge zugeordnet werden können (Listen und Rezepte). Ich versuchte, .set()
und .update()
zu tun, und während beide eine Instanz des Benutzers in meiner DB hinzufügten, würde es jedes Mal überschrieben, wenn ein neuer Benutzer sich registrierte. Wie würde ich vorgehen, dass diese Informationen nicht überschrieben werden? Ich werde weiter suchen und meinen Beitrag basierend auf den Informationen, die ich gefunden habe, aktualisieren. Hier ist der Auth-Code, den ich habe.Beim Erstellen eines Benutzers, der eine Instanz dieses Benutzers zur Firebase-Datenbank hinzufügt?
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;
});
};
}
]);
Vielen Dank im Voraus!
****** EDIT **********
Okay, so habe ich Informationen hinzugefügt werden, aber nicht in der Art, wie ich erwartet hatte. Ich möchte die Struktur so sein Benutzer ----- ID ------- info Wo ID ist der Schlüssel und Info ist der Wert, der ein neues Objekt enthält. Was ich immer das ist ... a random serialized ID and then my user id and information object
Die Frage ist nun, wie kann ich diese Zufall serialisierten Schlüssel los?
ich dies ein Duplikat der Frage, die Sie verknüpfen betrachte zugegriffen werden. Bist du in Ordnung, wenn ich es als solches schließe (wie es das Gewicht deiner anderen/längeren Antwort erhöht)? –
Gute Idee, ich habe vergessen, es als Duplikat zu markieren –