사용자의 친구 및 친구의 친구 집합을 통해 쿼리를 신속하게 수행 할 수 있어야합니다. 이것은 관계형 데이터베이스에서 비교적 직관적이지만 MongoDB에서이를 달성하는 최선의 방법에 다소 머물러 있습니다. 우리는 사용자 문서의 배열에 사용자의 친구의 사용자 ID를 저장하기 때문에 확실한 해결책이하는 것입니다 : 사용자 문서 MongoDB에서 친구 관계의 친구 모델링
- 풀 모든 친구의 사용자 ID를 (모든 친구 ID의 쿼리에서 $ 사용), 응용 프로그램 쪽을 하나의 집합으로 결합한 다음 첫 번째 수준의 친구 사용자 ID와 결합하여 모든 친구 및 친구의 집합을 가져옵니다.
- 친구의 모든 친구 및 친구에게 최종 검색어 ($ in 사용)를 수행하십시오.
간단하지만, 이것은 관계형 데이터베이스에서 조인으로 할 수있는 것과 비교할 때 막대한 양의 앞뒤로 보입니다. MongoDB에서보다 효율적인 방법이 있습니까? 아니면 RDBMS에 가장 적합한 문제입니까?
친구 관계가 항상 상호적임을 전제로합니다 ... alex가 jon과 친구이면 jon도 alex와 친구 여야합니다. – Jay
친구를 사귀는 것은 어떨까요? –
https://gist.github.com/levicook/4132037에서 친구를 찾습니다 – rodi