2016-11-06 9 views
2

ノードサーバーで遊んでいて、指定されたStringでFirebaseの値を設定する際に問題があります。ノードJavascript - 文字列変数の値ではなくリテラルに設定する

問題: - >exampleCardId12345: true私はforループの最初の行にcarId変数の値を設定しようとすると、それはむしろ期待される動作よりもcarId: trueとして設定されています。

carId変数の値ではなく、値がcarIdに設定されているのはなぜですか?これはforループの前に設定したものですか?

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

答えて

関連する問題