0

我一直在使用push()方法將所有用戶存儲在我的firebase數據庫中。此方法爲每個用戶生成一個唯一的ID並將它們存儲在該ID下。我試圖改變這一點,以便我的用戶存儲在自動生成的user.uid下,當您使用set()方法時,但是,我無法將它們存儲在此用戶uid下。如何在UID下存儲Firebase用戶

我正在使用以下操作將用戶添加到數據庫中,我在這裏丟失了什麼?

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

       }) 

此使用設置()和存儲數據是這樣的:

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

使用推送()結構看起來像這樣: 在使用者存儲基於所生成的火力推同上。

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

我正在尋找的是這樣的結構: 用戶由火力存儲生成的用戶id ..

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

任何幫助將不勝感激!

回答

1

您尚未在路徑中爲uid本身創建節點。將其更改爲:

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

這就是我所需要的。謝謝坦率! – MacD

相關問題