Node Javascript -字符串变量设置为literal而不是'价值

Node Javascript - string variable setting to literal instead of its' value

本文关键字:价值 literal Javascript 字符串 变量 设置 Node      更新时间:2023-09-26

我正在玩Node服务器,并且在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});
           }
       });
 });

如果要使用变量的值作为键,请使用计算属性名语法:

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