在Angularfire中使用uid键的对象

时间:2016-12-09 20:21:01

标签: angularjs firebase firebase-realtime-database angularfire

我有几天Firebase用户和我试图创建一个创建普通用户(工作)的功能,然后添加与他的节点相关的他的UID作为数据库中的/ users中的键,以存储有关用户的更多信息姓氏,地址等。

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

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

我认为我的裁判做错了。

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

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

感谢您的任何建议。

1 个答案:

答案 0 :(得分:1)

AngularFire服务$firebaseArray$firebaseObject可用于将Firebase数据库中的数据绑定到AngularJS视图。但是,如果您不将它们绑定到HTML,则无需使用这些服务。

在您的代码中,您只是尝试创建一个用户节点,您可以使用常规Firebase JavaScript SDK执行该操作:

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

由于AngularFire构建于Firebase JavaScript SDK之上,因此可以很好地互操作。即使在其他地方,您将用户或用户列表绑定到UI(分别使用$firebaseObject$firebaseArray),这些也会显示您所做的更改。