2016-07-18 6 views
1

私はプレイしているオンラインブラウザゲームのためのフレンドリストエクステンションを作っています。すべてのユーザーは友人のリストを持っています。私は新しい友達が追加されたときにこのリストを更新する最善の方法を見つけようとしています。今すぐ私は友人を文字列として取得し、コロンを追加して新しい友達の名前を追加し、新しい文字列を友達の文字列として設定します。これは右見ていないように私は、しかし、そうするためのより良い方法があると感じる。"Friend0:Friend1:Friend2"firebaseデータ一覧

このプロセスのための私のコードは次のようになります。

var reqName = $('#addFriendText').val(); // Name to be added 
var name = args['name'];     // Current users name 
firebase.database().ref('/users/' + name).once('value').then(function(snapshot) { 
    var friends = snapshot.val()['friends']; // Get friends string 
    newFriends = friends + ':' + reqName;  // Make new friends string 
    var dbRef = firebase.database().ref('users'); 
    var obj = {}; 
    obj[name] = {'friends':newFriends};  
    dbRef.update(obj).then(function(){  // Store new friends string 
     console.log('db updated'); 
    }); 
}); 

何を行うにはクリーンな方法がありますIやろうか?私は配列が最適ではないと聞いたが、何らかのリスト構造が必要だ。私はthisを読んで示唆

"users": { 
    "Cap": { 
    "friends": { 
     "user1": true, 
     "user2": true 
    } 
    } 
} 

:それはあなたがそれらを取得する方法によって異なり

data

+0

[データのリストを保存する](https://firebase.google.com/docs/database/web/save-data#append_to_a_list_of_data)と[データを作成する](https:// firebase .google.com/docs/database/web/structure-data#扇形に広がります)。 –

答えて

3

が、より良いアプローチは、この次のようになります。参考のために、データ構造は、私のコンソールで次のようになります