2016-11-24 19 views
0

Firebaseの使用を開始します。Firebaseのデータ構造

私は漫画のための簡単なデータベースから始めます。

どの構造が最適ですか?

備考構造1:シリーズのリストはどのように入手できますか?

備考構造2:SQLデータベースには近すぎますか?

STRUCTURE 1:

{ 
    "comics" : { 
    "1" : { 
     "serie" : "Batman", 
     "nr" : "1", 
     "title" : "Title of issue 1" 
    }, 
    "2" : { 
     "serie" : "Batman", 
     "nr" : "2", 
     "title" : "Title of issue 2" 
    }, 
    "3" : { 
     "serie" : "Spiderman", 
     "nr" : "1", 
     "title" : "Title of issue 1" 
    } 
    } 
} 

STRUCTURE 2:

{ 
    "issues" : { 
    "1" : { 
     "serie" : "1", 
     "nr" : "1", 
     "title" : "Title of issue 1" 
    }, 
    "2" : { 
     "serie" : "1", 
     "nr" : "2", 
     "title" : "Title of issue 2" 
    }, 
    "3" : { 
     "serie" : "2", 
     "nr" : "1", 
     "title" : "Title of issue 1" 
    } 
    }, 
    "series" : { 
    "1" : { 
     "title" : "Batman" 
    }, 
    "2" : { 
     "serie" : "Spiderman" 
    } 
    } 
} 
+2

どちらもありません。 Firebaseでは配列は柔軟性がないので、使用しないでください。ノード名はchildByAutoIdで作成する必要があります。また、使用する構造はデータベースから取得したいものによって決まります。関係、非正規化されたデータ、クエリなどが含まれていないので、その情報なしで質問に答える方法はありません。 – Jay

+0

私はシリーズのリストを取得したい、あなたはそのセリエイの問題のリストを参照してください。 – Filip

+1

単純なデータベース(ムービーの例リスト)でも、整数をキーとして使用せず、childByAutoIdによって生成されたものを使用しますか? – Filip

答えて

2
  • は、私が最初のドキュメントでthis pageを見てみましょう。

  • その後、Jayのアドバイスに従って、Firebaseがあなたのレコードに固有のキーを生成できるようにします。

  • それぞれseriesのレコードを保管し、子供としては、関連するエピソードのリスト を保持することができます。

  • episodeのレコードを保存してください。 (年、キャスト、評価など)について詳しくは、こちらをご覧ください。必要に応じて、それが属するシリーズのIDを追跡することさえできます。

あなたのデータ構造は次のようになります:

{ 
    "series": { 
    "58371074b694fc9c35ec8891": { 
     "name": "Batman", 
     "episodes": { 
     "583710741ffbf07cfccf7ba2": true, 
     "58371074539dde71b245d5a1": true, 
     "583710744b14fd3a654a6d75": true 
     } 
    }, 
    "58371074898bed03d73cd12c": { 
     "name": "Spiderman", 
     "episodes": { 
     "58371074b63304e2617b558e": true 
     } 
    } 
    }, 
    "episode": { 
    "583710741ffbf07cfccf7ba2": { 
     "name": "Batman Begins" 
    }, 
    "58371074539dde71b245d5a1": { 
     "name": "Batman Returns" 
    }, 
    "583710744b14fd3a654a6d75": { 
     "name": "Batman Forever" 
    }, 
    "58371074b63304e2617b558e": { 
     "name": "The Amazing Spider-Man" 
    } 
    } 
} 

注:上記の例では、明らかにキーがfirebaseによって生成されていますが、どのようにあなたのデータのアイデアを得るされていません構造が見えるかもしれません。