한 키값에 여러 데이터가 쌓여야 한다는 요구사항부터 다시 점검해 보실 필요가 있어보이네요. 왜냐하면 그렇게 할 수가 없기 때문이죠. 그렇게 되려면 키값이 당연히 바뀌어야 하죠. 님이 말씀하시는 것은 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가 되면(콜렉션안에 문서, 다시 그안에 콜렉션 처럼 중첩구조), 데이터가 커질 수록 성능이 많이 떨어질 수 있습니다.