Firebase - 返回用户uid并将用户元数据值设置为不同的节点

时间:2016-05-05 21:18:22

标签: javascript firebase firebase-realtime-database

我正在尝试从Firebase中的“用户”节点检索数据,并将set()中检索到的数据用于另一个节点。具体来说,我想使用我的用户UID来查看哪个"分支"用户所属,然后使用set()

中的值

我有以下快照来获取"分支"用户。它会向控制台记录正确的值

_.map(magicNumbers, 
      function(num) {
          return _.find(magicObjects, 
              function(v) { return v.magic == num }
              ) || null;
      });

返回"分支" value我想在下面的set()

中使用它
    var ref = new Firebase("firebase/url");
    var authData = ref.getAuth();
    var userUID = authData.uid
    var userRef = new Firebase("firebase/URL" + userUID);      



 userRef.once("value", userBranch)

     function userBranch(snapshot) {
     var data = snapshot.val();
     console.log(data.branch);
      };

从userBranch函数中取出值的最佳方法是什么,所以我可以在set()中使用它?

1 个答案:

答案 0 :(得分:1)

你使用.once有点不对劲,但你有正确的想法。

var ref = new Firebase("firebase/url");
var authData = ref.getAuth();
var userUID = authData.uid
var userRef = new Firebase("firebase/URL" + userUID);      

// Second parameter is callback function that receives data (snapshot)
userRef.once("value", function(snapshot) {)
    var data = snapshot.val();
    console.log(data.branch);
    // Save value at data.branch
    var dataBranch = data.branch;

    var postsRef = ref.child("Posts");
    var newPostRef = postsRef.push();
    var postID = newPostRef.key();

    // Save it, erasing all previous data at location
    postsRef.child(postID).set({
        "branch": dataBranch
    });

};

你对.once的第二个参数有点混淆。

参考文献:

Firebase | .push

Firebase | .once

Firebase | .set