./팔로잉,팔로워 데이터구조.png

어떤 방식인가?

1번은 유저 document에 팔로잉/팔로워를 배열로 두고 그 안에 다른 사용자의 id를 넣는 구조이다.

단점

그런데 이렇게하면 앱이 커지면 관리에 어려움이있고, 확장하기엔 어려운 데이터 구조라고 한다.

솔루션

그래서 2번 방식처럼 한다. 2번 방식은 팔로잉/팔로워 목록을 별도의 컬렉션에 저장하는 방식이다.

유저1이 유저2를 팔로우한 경우 팔로잉이란 컬렉션이 생성되고, 유저1에 유저2가 들어간다.

마찬가지로 팔로워 컬렉션이 생성되고, 팔로우 당한 유저2가 주체가되고, 그 안에 유저2를 팔로우한 유저가 들어가는 방식이다.