Mac*_*acD 1 javascript firebase firebase-authentication firebase-realtime-database
我一直使用 push() 方法将所有用户存储在我的 firebase 数据库中。此方法为每个用户生成一个唯一的 id 并将它们存储在此 id 下。我正在尝试更改此设置,以便我的用户存储在使用 set() 方法时自动生成的 user.uid 下,但是,我无法将它们存储在此用户 uid 下。
我正在使用以下内容将用户添加到数据库中,我在这里缺少什么?
firebase.database().ref().child('accounts').set({
email: user.email,
userId: firebase.auth().currentUser.uid
})
Run Code Online (Sandbox Code Playgroud)
这使用 set() 并像这样存储数据:
{
"accounts" : {
"email" : "",
"userId" : ""
},
{
"email" : "",
"userId" : ""
}
}
Run Code Online (Sandbox Code Playgroud)
使用 push() 的结构如下所示:用户根据 firebase 生成的推送 ID 进行存储。
{
"accounts" : {
"-KRPSyO4B48IpBnHBTYg" : {
"email" : "",
"userId" : ""
},
"-KR4f4s5yvdr67g687nrth" : {
"email" : "",
"userId" : ""
}
}
Run Code Online (Sandbox Code Playgroud)
我正在寻找的是这种结构:用户由 firebase 生成的 userId 存储..
{
"accounts" : {
"userId value" : {
"email" : "",
"userId" : ""
},
"userId value" : {
"email" : "",
"userId" : ""
}
}
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激!!
您还没有为uid路径中的自身创建节点。将其更改为:
var uid = firebase.auth().currentUser.uid;
firebase.database().ref().child('accounts').child(uid).set({
email: user.email,
userId: uid
})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4778 次 |
| 最近记录: |