PhoneGap, AngularJS 및 Firebase를 사용하여 메시징 앱을 작성하려고합니다. Firebase 비정상적인 쿼리 메서드 ( 1 , 2 )에 올바른 데이터베이스 구조가 제공되어야 하는지를 알아 내려고합니다 .
모든 메시지가 저장되는 메시지 '테이블'이 필요하지만 문제는 이것이 NoSQL 테이블이라는 것이므로 특별히 형식이 지정되지 않은 경우 데이터를 검색하기가 매우 어렵습니다.
예를 들어, 원래 /messages/{userId}
는 사용자에 대한 모든 메시지 /messages/{userId}/{partnerId}
를 가져 오고 특정 메시지 체인 을 가져 오는 것과 같은 것을 고려 했지만 메시지를 보내는 사람에 대해 한 번, 데이터를 복제해야하기 때문에 그렇게 할 수 없습니다. 받는 사람을 위해 한 번.
누구든지 Firebase의 쿼리 구조와 잘 작동하는 레이아웃을 제안 할 수 있으며 다음을 허용합니다.
이 게시물에서 데이터 비정규 화 에 대해 살펴보십시오 . 나는 비슷한 문제에 직면했고 나를 위해 일한 솔루션은 특정 개체의 자동 ID로 모든 데이터를 저장하는 것이었고 필요한 경우 해당 데이터에 대한 참조를 필요한만큼 많은 곳에 저장했습니다.
이것을 문제에 적용하면 단순화하면 다음과 같이 갈 것입니다.
root/messages/{message_by_auto_id}/{message_body}
root/users/{user_id}/messages_this_user_can_see/{ref_to_message}
따라서 사용자가 메시지를 게시하는 경우 앱은 메시지에 메시지를 저장하고 위와 같이 각 친구에게 해당 메시지에 대한 참조를 저장해야합니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다