javascript - 如何在 UID 下存储 Firebase 用户

标签 javascript firebase firebase-realtime-database firebase-authentication

我一直在使用 push() 方法将所有用户存储在我的 firebase 数据库中。此方法为每个用户生成一个唯一的 id,并将它们存储在该 id 下。我正在尝试更改此设置,以便我的用户存储在使用 set() 方法时自动生成的 user.uid 下,但是,我无法将它们存储在此用户 uid 下。

我正在使用以下方法将用户添加到数据库中,我在这里缺少什么?

firebase.database().ref().child('accounts').set({
                email: user.email,
                userId: firebase.auth().currentUser.uid

              })

这使用 set() 并像这样存储数据:

{
  "accounts" : {
      "email" : "",
      "userId" : ""
    },
{
      "email" : "",
      "userId" : ""
    }
}

使用 push() 结构如下所示: 用户是根据 firebase 生成的推送 ID 存储的。

{
  "accounts" : {
    "-KRPSyO4B48IpBnHBTYg" : {
      "email" : "",
      "userId" : ""
    },
    "-KR4f4s5yvdr67g687nrth" : {
      "email" : "",
      "userId" : ""
    }
  }

我正在寻找的是这个结构: 用户由 firebase 生成的 userId 存储。

{
      "accounts" : {
        "userId value" : {
          "email" : "",
          "userId" : ""
        },
        "userId value" : {
          "email" : "",
          "userId" : ""
        }
      }

任何帮助将不胜感激!!

最佳答案

您尚未在路径中为 uid 本身创建节点。将其更改为:

var uid = firebase.auth().currentUser.uid;
firebase.database().ref().child('accounts').child(uid).set({
  email: user.email,
  userId: uid
})

关于javascript - 如何在 UID 下存储 Firebase 用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43928714/

相关文章:

javascript - Firebase 启动从数据库加载与读取新添加内容

javascript - 通过 Dropbox Api V2 上传文件

javascript - 这段 IE 特定代码的作用是什么?

javascript - 是否有理由不在 while block 声明中分配变量?

android - Firebase 模块初始化失败 : remote_config (missing dependency)

java - 使用 firebase 云消息传递,我如何了解哪条消息给我带来了错误以及哪条消息被接受传送?

javascript - 在不使用变量名的情况下更新 Javascript 函数中的全局变量

swift - 设置 Firestore 文档时如何检测网络连接缺失

android - Firebase : Should I use transactions? 中加注/点赞系统的正确设计

java - 如何不覆盖 firebase 数据库中的用户输入?