Firebase로 Android에서 작업 중입니다.
하위 속성이있는 하위 개체를 가져 오는 쿼리에 문제가 있습니다.
데이터 구조를 첨부했습니다.Firebase 쿼리 (하위 하위 속성 가져 오기)
나는 특정 사용자 ID와 사용자가 포함 된 그룹을 싶어.
Firebase로 Android에서 작업 중입니다.
하위 속성이있는 하위 개체를 가져 오는 쿼리에 문제가 있습니다.
데이터 구조를 첨부했습니다.Firebase 쿼리 (하위 하위 속성 가져 오기)
나는 특정 사용자 ID와 사용자가 포함 된 그룹을 싶어.
이 경우 비정규 화를 사용해야합니다. 즉, 특정 사용자의 모든 그룹을 추가해야하는 userGroups
이라는 또 다른 노드를 만들어야합니다. 데이터베이스는 다음과 같아야합니다.
Firebase-root
|
---- userGroups
|
--- userId1
| |
| --- groups
| |
| --- groupId1: true
| |
| --- groupId2: true
|
--- userId2
|
--- groups
|
--- groupId3: true
|
--- groupId4: true
이 데이터베이스 구조를 사용하면 사용자가 분리 된 모든 그룹을 확보 할 수 있습니다. 원하는 사용자에게 청취자를 첨부하고 dataSnapshot
개체의 모든 그룹을 가져옵니다.
그래서 DB 구조를 업데이트해야합니까? –
예, 문제를 해결하는 새 노드를 추가해야합니다. –
중첩 된 쿼리를 사용해야합니다. 첫 번째 실행 키를 읽을 이벤트 변경 수신기에 대한 쿼리를 실행 한 다음 자식 프로필이나 사용자가 단일 이벤트 수신기 프로필에 대해 쿼리를 사용하는 경우 추가 검사를 수행하고 해당 키를 읽습니다. 프로필이 아니라 사용자 쿼리를 실행하십시오. 자녀를 읽으십시오. child (snapshot.gtKey()). child (object.getType() "Profile") addSingleEventValue 리스너 –