마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

파이어스토어, 파이어베이스

0 추천
안드로이스 스튜디오를 이용해 어플 제작 중에 있는데

 

파이어 스토어 혹은 파이어베이스를 이용하여 하나의 키 값 아래에 여러 사용자들의 데이터가 오도록 할 수 있나요??

키 값이 같으면 다른 데이터가 들어온다해도 키 값이 중복되어 원래 있던건 없어지고 새로 들어온게 나타나더라구요

한 사람이 데이터를 업데이트 하는게 아니라 여러 사람의 데이터가 한 키 값 아래에 쌓여야돼서 너무 어렵네요...
도화원2 (160 포인트) 님이 2022년 5월 14일 질문

1개의 답변

0 추천
한 키값에 여러 데이터가 쌓여야 한다는 요구사항부터 다시 점검해 보실 필요가 있어보이네요. 왜냐하면 그렇게 할 수가 없기 때문이죠. 그렇게 되려면 키값이 당연히 바뀌어야 하죠. 님이 말씀하시는 것은 document의 키가 아니라 collection의 키값인 것 같네요.

예를 들어 사용자 테이블을 구축할 때, user라는 collection이 있고(물론 고유한 키값을 가지고 있겠죠) 이 밑에 각 사용자에 대한 document가 존재하는 것이 Firebase의 구조입니다.  Firebase는 JSON Tree입니다. 그리고 권장하지는 않지만 필요하다면  Array와 같은 데이터 타입을 사용할 수가 있습니다.

질문에 최종적으로 보여져야 하는 데이터 형태를 올리시면 답을 하기가 좀 더 수월해 보일 듯 합니다.

약간 정정하자면, 파이어베이스 구조는 JSON Tree이기 때문에 님이 말하는 구조가 당연히 가능합니다.
아래처럼 collection 안에 document를 가질 수 있고,  document안에 collection 을 넣을 수 있습니다.

user(collection)
 - user1 (document)
   - userdata(collection)
      - data1 (document)
      - data2 (document)
- user2 (documetn)
   - userdata(collection)

한가지 주의하실 점은, 구조가 nested가 되면(콜렉션안에 문서, 다시 그안에 콜렉션 처럼 중첩구조), 데이터가 커질 수록 성능이 많이 떨어질 수 있습니다.
spark (225,780 포인트) 님이 2022년 5월 14일 답변
spark님이 2022년 5월 14일 수정
...