2016-10-21 7 views
0

그래서 NoSQL을 처음 접했기 때문에 코딩을 진행하기 전에 앱의 구조를 계속 진행하는 방법을 생각했습니다.Firebase 데이터베이스 구조 충돌

Users: 
    ID 
     email: "[email protected]" 
     name: "John Doe" 
     profile_pic_path: "https://...". 
     language: "en" 
     exp_points: 1284 

    Projects: 
    /$PROJECT_ID 
     title: "For whom the bell tolls" 
     image: "etc.png" 

    project_roles: 
    /$PROJECT_ID 
     $userId1: 5 
     $userId2: 6 

    roles: 
    5: "Editor" 
    6:" Writer" 

그래서 지금은 projectsorders를 추가해야합니다. 각 orderitems의 목록입니다.

내 질문은 :

  1. 내 구조를 가능한 한 평평하다. NoSQL을 처음 접했으므로 제대로하고 있습니까? 당신이 바꿀만한 것이 있다면, 나는 최대한의 안정성으로 모든 것을 만들려고 노력하는대로 듣고 배우고 싶습니다.
+0

'project_tasks' 노드는 어디에 있습니까? –

+0

철자가 틀어서 죄송합니다. 'project_orders'를 말합니다. – Reni

+0

@rainman 무엇이 중요합니까? – Reni

답변

0

어제 저는 json 데이터베이스에 대해 배우기 시작합니다.이 경우 firebase realtime databse ... 올바른 firebase 데이터베이스에 대해 궁금한 점이 있습니다. firebase 데이터베이스를 만들려면 3 가지가 있어야합니다. 개념 :

  • 데이터 중첩 방지 : Firebase는 32 개의 중첩 노드를 지원하므로 모든 노드를 사용해야합니까? 아니요 ... 데이터베이스가 더 적은 노드로 정보를 읽는 것이 더 간단하고 빠릅니다. 부모 노드를 호출하면 firebase는 모든 보조 노드 정보를 반환한다는 것을 기억하십시오.
  • 불필요한 중첩 노드를 피하기 위해 데이터 구조를 압축하면 더 빠른 firebase 데이터베이스를 가질 수 있습니다.
  • 규모 데이터 또는 bidireccional 노드를 만드는 것이 가장 중요 할 수 있습니다 ... 프로젝트 주문이나 사용자 주문을 볼 필요가있을 수 있으므로 여기에 bidereccional 노드가 있습니다. 보다 효율적인 데이터베이스를 수행하기 위해 인덱스 json 객체를 생성합니다.

이 개념을 적용하면 좋은 JSON 데이터베이스를 구축 할 수 있습니다. 이에 대한 자세한 내용은 예제 및 Google 정보가 포함 된 guide을 참조하십시오. 귀하의 앱을 위해 필요한 것 이상을 알고 그것에 대해 읽고, 예제를 따르고 최상의 스키마를 구축했기 때문에 귀하의 스키마를 수행 할 수 없습니다. 이 youtuber은 firebase realdatabase 및 해당 규칙에 대한 우수 사례에 대해 설명합니다. 인사말!!