Angularfire 中具有 uid 键的对象

Object with uid key in Angularfire

我有几天是 Firebase 用户,我尝试创建一个创建普通用户的函数(有效),然后添加与他相关的节点,并将他的 UID 作为数据库中 /users 中的键,以存储有关的更多信息用户,如姓氏、地址等

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

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

我假设我的 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
  });
}

感谢您的任何建议。

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),这些也会显示您所做的更改。