Firebase - вернуть uid пользователя и установить значение метаданных пользователя для другого узла

Я пытаюсь получить данные из узла Users в Firebase и использовать полученные данные в set () для другого узла. В частности, я хочу использовать свой UID пользователя, чтобы посмотреть, к какой «ветви» принадлежит пользователь, а затем использовать значение в 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);
      };

С возвращенным значением "ветки" я хочу использовать его в следующем set ()

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


    postsRef.child(postID).set({
         branch: data.branch})

Как лучше всего извлечь значение из функции userBranch, чтобы я мог использовать его в моем set ()?


person Janbango    schedule 05.05.2016    source источник


Ответы (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

person theblindprophet    schedule 05.05.2016