为什么Firebase在父母和孩子之间创建随机标识符?

时间:2019-04-07 10:28:33

标签: javascript firebase firebase-realtime-database

我正在玩Firebase Web应用,并且在诊断某些来源时遇到一些困难。

我试图在身份验证发生时创建的uid标题下简单地将一些数据推送到我的项目中。身份验证工作正常,并且可以正确返回uid,但是,当传递值时,它似乎在实际值之前添加了第二层。

function registerAccount() {
    var firebase = app_firebase;
    var firebaseRef = app_firebase.database();   //database reference
    var user = firebase.auth().currentUser;

    uid = user.uid;

    var ref = firebaseRef.ref('User').child(uid);           //referencing node
    var userName = document.getElementById("txtUsernameInput").value;

    if (user) {
        // User is signed in.

        var data = {                             //data being added
            Username: userName,
        }

        window.location = 'myHome.aspx';

     } else {
         // No user is signed in.
         console.log("Cannot get UID");
     }

    ref.push(data);


}

我希望数据条目与用户的子项一起显示为从身份验证中获取的uid(这是可行的),然后将传递的值立即放在uid中,而uid和值之间似乎没有自动生成的子项。

图像显示正在生成的有害字段

[请参见此处] [1]

1 个答案:

答案 0 :(得分:0)

André Kool's中的

a comment建议:

  

ref.push(data);更改为ref.set(data);

工作。