节点Javascript - 字符串变量设置为文字而不是其'值

时间:2016-11-06 03:12:11

标签: javascript node.js firebase-realtime-database

我正在使用节点服务器,并且无法使用提供的字符串在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});
           }
       });
 });

1 个答案:

答案 0 :(得分:3)

如果要为键使用变量值,请使用computed property name syntax

db.ref('/carsById/'+key).set({ [carId]: true });
                               ^     ^
                               ^     ^