2016-11-06 65 views
2

我正在玩一个节点服务器,并且无法使用提供的字符串在Firebase中设置值。节点Javascript - 字符串变量设置为字面值而不是其值'

问题:当我尝试设置carId变量的值中的for循环的第一行,它被设置为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

阅读问题的两倍,也说不清是什么问题。我建议你再次尝试使用显示预期与实际行为的实际代码。添加一些日志记录并解释没有按预期发生的事 –

+0

我很困惑。您正在创建一个变量'carId'并将该值设置为'data.key'。然后你迭代一组驱动程序,每次都记录相同的值。然后别无所物。你到底想要发生什么? – Paul

+0

对不起,这很棘手。我实际上再次使用'carId'变量将它设置为'db.ref('/ carsById /'+ key).set({carId:true});'中的键。但是,它不会将'carId'的值设置为关键字,而将'carId'设置为关键字。那有意义吗? – justColbs

回答

相关问题