首页 文章

使用push()方法创建没有唯一键的新子位置

提问于
浏览
6

在我的firebase网络应用程序中,当新用户使用他们的电子邮件注册时,我在根提示下的电子邮件地址下创建一个节点

但问题是使用push()方法将每个新用户添加到数据库中,每个用户都使用如下所示的唯一键创建

  • users

---- ASFTU578FE

--------- user:user1@email.com

---- FDWWE36S46

--------- user:user2@email.com

---- WERSRTT23W

--------- user:user3@email.com

现在我如何访问用户的路径,因为我不知道将为每个新用户创建的unque密钥

有没有办法在没有唯一密钥的情况下推送新用户,但我知道的密钥是user.displayName或user.email

1 回答

  • 14

    调用 push 会生成一个带有自动计算键的位置 .

    要在您自己确定密钥的路径上编写子项,只需调用 child("key").set(value) 即可 .

    如果将Firebase身份验证用户存储在数据库中,则惯用的方法是将其存储在其uid下 .

    var user = firebase.auth().currentUser;
    var usersRef = firebase.database().ref("users");
    if (user) {
      usersRef.child(user.uid).set({ 
        displayName: displayName,
        email: email,
        photoUrl: photoUrl,
        emailVerified: emailVerified
      });
    }
    

相关问题