2016-08-31 6 views
1

태그를 firebase에있는 레코드에 저장하는 방법은 무엇입니까? 예를 들어 즐겨 찾기를 가진 사용자가 있고 즐겨 찾기에 여러 개의 태그를 추가 할 수 있습니다. 하나 이상의 태그로 질의 할 수 있습니까?firebase에 태그를 저장하고 쿼리 할 수 ​​있습니까

이 기본 구조

Users{ 
favourites: { 
    fav_1:{ 
     tags:[tag1,tag2,tag3,...] 
    } 
    fav_2:{ 
     tags:[tag1,tag2,...] 
    } 

    ..... 
} 

} (대부분의 NoSQL에 데이터베이스에 같은) 중포 기지에서

답변

5

, 자주 응용 프로그램이 사용하고자하는 방법을 데이터를 모델링해야합니다에게 있습니다.

현재 사용자의 모델은 특정 사용자의 태그 목록 (fav_1, fav_2)을 찾는 데 유용합니다. 그러나 특정 태그에 대한 사용자 목록을 찾는 것은 그리 좋지 않습니다. 후자의 쿼리를 허용하려면, 데이터 모델에 반전 조회 목록을 추가 :

Tags: { 
    fav_1: { 
     User1: true, 
     User2: true 
    } 
    ... 
} 

를 원래 모델이 결합하면 사용자의 태그 목록뿐만 아니라 사용자의 목록을 찾아 볼 수 있습니다 태그.

NoSQL 데이터 모델링에 대한 유용한 정보는 NoSQL data modeling을 참조하십시오.

+0

응답 해 주셔서 감사합니다. 즐겨 찾기에 여러 개의 태그를 저장할 수 있기를 원한다. 나는 더 명확한 설명을 위해 질문을 편집했다. – user3552551

+0

안녕하세요. Puf. 나는'post's와 같은 시나리오가'tag'를 가질 수 있는지 궁금 해서요, 모든'post'가'tags' ('tag_id's로 구성)를 가지며 다른'tags 'node는'tag_id's의리스트를 포함하고 있는데'tag_id's와 그것들과 관련된'post_id'도 있습니까? (즉 post-post_id - tags []','tags - tag_id - posts []') - 나는 이것들을 둘러 보았고 이것은 내가 생각할 수있는 가장 단순한 구조이다. (스택 오버플로와 비슷합니다.) –

+1

저는 일반적으로 관계를 양방향으로 저장하여 포스트에서 카테고리로 그리고 카테고리에서 포스트로 저장함으로써 그러한 카테고리 화 문제를 모델링합니다. 내 설명은 여기 http://stackoverflow.com/questions/40656589/firebase-query-if-child-of-child-contains-a-value를 참조하십시오. 의견은 데이터 구조를 보여주기위한 부차적 인 표현이므로 새로운 질문을 열어 더 많은 btw에 대해 의논하십시오. :-) –

관련 문제