DATABASE 계층 :사용자가 만든 모든 게시물을 올바르게 쿼리하는 방법은 무엇입니까?
posts
post1_uid
author: user2UID
info1
info2
post2_uid
author: user1UID
info1
info2
users
user1_UID
info1
info2
info3
user2_UID
info1
info2
info3
상황 :
사용자는 게시물을 작성할 수 있습니다. 각 게시물에는 게시물을 만든 사용자의 UID를 보유하는 "저자"속성이 있습니다. 내가 한 사용자의 모든 게시물을 표시 할 경우
, 내 중포 기지 GET 요청 쓰기 :
CODE :
if (childData.author == firebase().auth().currentUser.uid) {
//Show those posts created by the current user
}
질문
효과가 있습니까? 내 Firebase 데이터베이스에 수백만 개의 게시물이 있고 현재 사용자의 ID를 각 게시물의 "작성자"속성과 비교해야합니까?
아니요, 더 좋은 옵션이 있습니까? 내 "사용자/UID /"경로에서 사용자가 만든 모든 게시물의 UID가 포함 된 "게시물"노드를 만들기
: 나는을 뭘하려
.
마찬가지로, 데이터베이스 (수백만)의 모든 게시물을 반복하는 것에 비해 훨씬 작은 json 트리 (사용자가 만든 모든 게시물 (100) 만 반복)를 통해 반복합니다. 사용자. 하지만 이것은 실제로 성능에 영향을 줍니까? 그만한 가치가있는 데이터 중첩이 있습니까?
다른 데이터베이스 계층 구조 : 여기
posts
post1_uid
author: user1UID
info1
info2
post2_uid
author: user1UID
info1
info2
users
user1_UID
info1
info2
info3
posts
referenceUID
post1UID
post2UID
user2_UID
info1
info2
info3
내 예제의 동작을 모방하는 가짜 데이터와 실제 데이터베이스 계층 구조입니다.
TL; DR :
어떻게 적절하게 사용자에 의해 생성 된 모든 게시물을 찾고 쿼리를 최적화 할 수있는 중포 기지 데이터베이스를 구성 할 수?