adm
adm

Reputation: 179

Object with uid key in Angularfire

I'm a few days Firebase user and I tried to make function that creates an ordinary user(works), then add related to him node with his UID as a key in /users in database to store more info about user such as surname, address etc.

function _addUser(user) {
      var auth = $firebaseAuth();

      auth.$createUserWithEmailAndPassword(user.email, user.password)
        .then(function (firebaseUser) {
          _createUserNode(firebaseUser, user);
        });
    }

I assume that I'm doing something wrong with my ref.

function _createUserNode(firebaseUser, user) {
  var ref = firebase.database().ref(FirebaseUrl + "/users/" + firebaseUser.uid);
  var users = $firebaseArray(ref);

  users.$add(user).then(function () {
    //user added
  });
}

Thanks for any suggestions.

Upvotes: 0

Views: 461

Answers (1)

Frank van Puffelen
Frank van Puffelen

Reputation: 598728

The AngularFire services $firebaseArray and $firebaseObject are useful to bind data from the Firebase Database to your AngularJS views. But if you're not binding them to the HTML, there is no need to use these services.

In your code, you're just trying to create a user node, which you can do with the regular Firebase JavaScript SDK:

function _createUserNode(firebaseUser, user) {
  var ref = firebase.database().ref(FirebaseUrl + "/users/" + firebaseUser.uid);
  ref.set(user).then(function () {
    //user added
  });
}

Since AngularFire is built on top of the Firebase JavaScript SDK, they interoperate nicely. Even if elsewhere you bind the user or list of users to the UI (with $firebaseObject or $firebaseArray respectively), those will show the change you make.

Upvotes: 1

Related Questions