节点JS“dynamic”写入/更新Firebase节点

我想更新一个名为BoxScores的Firebase节点,它将保存Q1, Q2, Q3, Q4四个值

以下是我试图实现的代码,其中qtrDescQ1 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); }); } 

上面的代码的问题是,当更新得到执行时,它将qtrDescBoxScores节点中,而不是我想要或预期的Q1, Q2, Q3 or Q4值!

您需要使用[]符号将variables用作更新中的键:

 var updates = {}; updates[qtrDesc] = body[key]["home"]["score"][i] + ":" + body[key]["away"]["score"][i]; ref.child("BoxScores").update(updates).catch(err => {...