2016-08-27 2 views
0

기본적으로 내 앱에서 Kik을 리메이크하려고합니다. firebase 채팅 애플리케이션에서 본 대부분의 가이드에는 하나의 주요 메시지 노드가 있으며, 그 아래에는 기본 목록의 메시지를 참조하는 각 사용자의 메시지가있는 팬 아웃이 있습니다.채팅 앱용 Firebase 데이터 구조

users 
    chatPartners 
     02834092890428 
      chatMessages 
       2093840923840923 
        timestamp/userUID/etc. 

을 그냥 내 사용자의 노드의 내부의 실제 채팅을 내 중포 기지 순간에 배치되는 방식으로

,이 같은 것을 구현하는 것이 더 쉽습니다. 이것은 또한 메시지 노드의 모든 단일 메시지를 살펴 봐야하는 것에 주력하고 있습니다.

그래서 사용자가 서로에게 메시지를 보내면 발신자와 사용자 아래의 "채팅 메시지"노드를 업데이트합니다.

이렇게하지 않으려는 이유가 있습니까? 모든 사람들이 제가 설명한 첫 번째 방법을 본다. 그렇지만 각 채팅을 사용자 ---> 채팅 파트너 -> 채팅 로그를 저장하는 것이 문제가되는 이유를 알지 못합니다.

답변

2

실행할 수있는 유일한 문제는 데이터가 호출되는 방식입니다. 채팅 로그는 'Users'및 'chatPartners'의 하위 항목이기 때문에 해당 지점의 모든 데이터를 호출하게됩니다. 기본적으로 데이터베이스의 모든 데이터를 'Users'아래에로드합니다. 이는 시간과 성능에 민감합니다.