Firebase - return 用户 uid 并将用户元数据值设置为不同的节点
Firebase - return user uid and set user meta data value to different node
我正在尝试从 Firebase 中的用户节点检索数据,并将检索到的数据用于另一个节点的 set() 中。具体来说,我想使用我的用户 UID 来查看用户属于哪个 "branch",然后使用 set()
中的值
我有以下快照来获取用户的 "branch"。它向控制台记录正确的值
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);
};
使用返回的 "branch" 值我想在下面的 set()
中使用它
var postsRef = ref.child("Posts");
var newPostRef = postsRef.push();
var postID = newPostRef.key();
postsRef.child(postID).set({
branch: data.branch})
从函数 userBranch 中取出值以便我可以在我的 set() 中使用它的最佳方法是什么?
你用的.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 中的用户节点检索数据,并将检索到的数据用于另一个节点的 set() 中。具体来说,我想使用我的用户 UID 来查看用户属于哪个 "branch",然后使用 set()
中的值我有以下快照来获取用户的 "branch"。它向控制台记录正确的值
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);
};
使用返回的 "branch" 值我想在下面的 set()
中使用它 var postsRef = ref.child("Posts");
var newPostRef = postsRef.push();
var postID = newPostRef.key();
postsRef.child(postID).set({
branch: data.branch})
从函数 userBranch 中取出值以便我可以在我的 set() 中使用它的最佳方法是什么?
你用的.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
的第二个参数有点混淆。
参考文献: