我正在使用节点服务器,并且无法使用提供的字符串在Firebase中设置值。
问题:当我尝试在for循环的第一行设置carId
变量的值时,它被设置为carId: true
而不是预期行为 - > exampleCardId12345: true
。
为什么将值设置为carId
而不是我在for循环之前设置的carId
变量的值?
db.ref('/cars').once("value", function(snapshot) {
snapshot.forEach(function(data) {
var carId = data.key;
var drivers = data.val().drivers;
for(key in drivers) {
db.ref('/carsById/'+key).set({carId: true});
}
});
});
答案 0 :(得分:3)
如果要为键使用变量值,请使用computed property name syntax:
db.ref('/carsById/'+key).set({ [carId]: true });
^ ^
^ ^