2016-11-24 1 views
0

Firebase를 사용하고 싶습니다.Firebase의 데이터 구조

만화에 대한 간단한 데이터베이스로 시작하겠습니다.

어떤 구조가 가장 좋습니까?

비고 구조 1 : 시리즈 목록은 어떻게 얻을 수 있습니까?

비고 구조 2 : SQL 데이터베이스와 너무 가깝습니까?

구조 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" 
    } 
    } 
} 

구조 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를 살펴 것이다.

  • 제이의 조언에 따르면, 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" 
    } 
    } 
} 

참고 : 위의 예에서 분명히 키가 중포 기지에 의해 발생하지만, 어떻게 데이터의 아이디어를 얻을되지 않은 구조가 보일 수도 있습니다.