2016-09-12 16 views
0

私はそれが正常に動作し、このデータ構造にFirebaseデータ構造の提案

{ 
"post": { 
    "<postID>": { 
     "postUserID": "<--uid-->", 
     "postUserName": "Nicholas", 
     "postUserIMG": "http://firebase.....", 
     "postImage": "http://firebase.....", 
     "Topic": "It is a nice day", 
     "like": "0" 
    } 
}, 
"user": { 
    "<--uid-->": { 
     "username": "Nicholas", 
     "profilePic": "http://firebase.....", 
     "post": "<postID>" 
    } 
} 
} 

を持っている、しかし私は、ポストデータのいくつかの問題を得ました。ユーザーデータ(ユーザー名など)を変更した場合は、そのユーザーのすべての投稿データを変更する必要があります。私はこの構造が全く効率的ではないと思う。データ構造をリファクタリングする方法。ユーザーデータを一度だけ変更することができます。

答えて

0

ユーザーIDを格納しておき、2番目のクエリで詳細が必要な場合は、そのユーザーのIDをポストから取得するだけです。私はこのデータ構造をお勧めします:

{ 
    "post" : { 
     "<postID>" : { 
      "postUserID" : "<--uid-->", 
      "postImage" : "http://firebase.....", 
      "Topic" : "It is a nice day", 
      "like" : "0" 
     } 
    }, 
    "user" : { 
     "<--uid-->" : { 
      "username" : "Nicholas", 
      "profilePic" : "http://firebase.....", 
      "post" : "<postID>" 
     } 
    } 
} 
+0

私はこれを試しましたが、テーブルビューの 'Post'構造体によって投稿を表示しているので動作しません。どうすればいい? –

+1

あなたはそれぞれの個々のユーザーに問い合わせて、それを別の変数に保存する必要があります。 –

関連する問題