2016-11-06 64 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

回答

相關問題