节点JS“动态”写入/更新火力地堡节点
问题描述:
我想更新火力地堡节点称为BoxScores
将举行的Q1, Q2, Q3, Q4
节点JS“动态”写入/更新火力地堡节点
下面四个值是代码即时试图实现这样做,其中qtrDesc
是在Q1 or Q2 or Q3 or Q4
的持有人:
for(let i = body[key]["qtr"]; i > 0; i--) {
let qtrDesc = "Q".concat(i);
ref.child("BoxScores").update({
qtrDesc: body[key]["home"]["score"][i] + ":" + body[key]["away"]["score"][i]
}).catch(err => {
console.log("Error updating BoxScores node: ", err);
});
}
与上面的代码的问题是,当更新被执行它把qtrDesc
在BoxScores
节点而不是Q1, Q2, Q3 or Q4
值我想要的或预期的!?
答
你需要使用[]
符号来使用变量作为关键在你的更新:在问候火力触发器
var updates = {};
updates[qtrDesc] = body[key]["home"]["score"][i] + ":" + body[key]["away"]["score"][i];
ref.child("BoxScores").update(updates).catch(err => {...
后续问题。我希望读取基于计算的值,例如:let qtrDesc =“Q”.concat(1); console.log('**** BoxScore Info Qtr:',newValue.qtrDesc);' – Learn2Code
如果我需要更新两个孩子的动态'[]'符号!在我的例子中,它只更新'Q1 = 2:14',但是如果我想要上面的内容,但是如何修改你的响应,而且还想更新像'lastupdate:firebase.database.ServerValue.TIMESTAMP'这样的子时间戳记' – Learn2Code
'updates [ lastupdate“] = firebase.database.ServerValue.TIMESTAMP' –