我使用firebase doc作为参考来执行以下代码。我尝试其他组合没有成功。没有对数据库的安全访问权。
那么,这段代码如何同时读取或获取两个节点的值?
function gofb(d) {
var r = d.getAttribute("data-id");
var p1name, p2name, pa1, pa2, pb1, pb2;
return firebase.database().ref('/wc2017/' + r + '/t1').once('value').then(
function(snapshot) {
pa1 = snapshot.val().pd1;
pa2 = snapshot.val().pd2;
p1name = pa1 + "|" + pa2;
});
return firebase.database().ref('/wc2017/' + r + '/t2').once('value').then(
function(snapshot) {
pb1 = snapshot.val().pd1;
pb2 = snapshot.val().pd2;
p2name = pb1 + "|" + pb2;
});
return firebase.database().ref('/wc2017/' + r).update({
a0_start: firebase.database.ServerValue.TIMESTAMP});
console.log(t1name);
console.log(t2name);
}
答案 0 :(得分:1)
您只需获取父对象值的快照即可。并获得您想要的价值。请参阅以下代码。
firebase.database().ref('/wc2017/' + r).once('value',function(snapshot){
sValue = snapshot.val();
pa1t1 = sValue.t1.pd1;
pa2t1 = sValue.t1.pd2;
pb1t2 = sValue.t2.pd1;
pb2t2 = sValue.t2.pd2;
});