2017-07-05 15 views
0

相対パスを使用してキーへの参照を作成するにはどうすればよいですか?私はitem1/items2などの "likes"子をターゲットにしたいと思っています。今、私はこれを持ってFirebaseを子供の参照と反応させるネイティブ

{ 
    "items": { 
     "items1": { 
      "french": "fdjsfd", 
      "english": "feeds", 
      "english_erudite": "fdsfds", 
      "likes":"0", 
      }, 
      "items2": { 
      "french": "fdfsd", 
      "english": "fdsfsd", 
      "english_erudite": "feeds", 
      "likes":"0", 
      } 
      } 
} 

、それは>代わりに占める特別項目1>の項目に行くの「アイテム」ノードに新しい子が追加されます好き: はここに私のJSONファイルであるだけで

var ref = firebase.database().ref(); 



var likes_words = ref.child("items").child("???").child("likes"); 


likes_words.transaction(function(currentLike) { 
    return currentLike + 1; 
}); 
} 
+0

どの項目を増やそうとしていますか? –

答えて

1

あなたのコードをこれに合わせて調整してください

var ref = firebase.database().ref(); 

      var likes_words = ref.child("items").once('value'); 

       likes_words.then(items => { 
        items.forEach(item => { 

         //for each item do this 
         let currentlike = item.val().likes; 
        ref.child("items/"+item.key+"/likes").update((currentlike+1)); 

        }) 
       }); 
+0

これはシングルユーザーの状況ではうまくいくが、より堅牢なソリューションのために[トランザクションを使用する](https://firebase.google.com/docs/database/web/read-and-write#save_data_as_transactions)をお勧めします。 –

+0

構文エラーが発生しました<構文(例:item/"+ item.key +"/likes)エラー予期しない文字 ">解決策のために@FrankvanPuffelen この行は次の行を指しています: ref.child(" items/"+ item.key +"/likes ")トランザクション(function(c urrentLikes) – Sonia

+0

私が見る限り私のコメントに残っているコードに '>'はありませんので、この変更だけでエラーが発生しているとは思われません。原因を見つけることができない場合は、[エラーを再現する最小限のコード] –

関連する問題