내장된 문서로 다대다 관계 모델링하기
이 페이지의 내용
내장된 문서를 사용하여 연결된 데이터 간의 다대다 관계 를 설명하는 데이터 모델 을 만듭니다. 연결된 데이터를 단일 문서 에 포함하면 데이터를 얻는 데 필요한 읽기 작업 수를 줄일 수 있습니다. 일반적으로 애플리케이션 이 한 번의 읽기 작업으로 필요한 모든 정보를 받을 수 있도록 스키마 를 구성합니다. 예를 예시, 포함된 다대다 모델을 사용하여 다음 관계를 설명할 수 있습니다.
수업에 학생
배우에서 영화로
의사가 환자에게
이 작업에 대하여
다음 예제 스키마에는 book one
및 book two
및 해당 작성자에 관한 정보가 포함되어 있습니다. 애플리케이션 사용자가 책별로 쿼리할 것으로 예상하는지, 아니면 저자별로 쿼리할 것으로 예상되는지에 따라 관계를 다르게 표현할 수 있습니다.
저자보다 책별로 쿼리할 사용자가 더 많을 것으로 예상되는 경우 예제 스키마가 효과적인 선택입니다. 그러나 저자별 쿼리가 더 많이 예상되는 경우 저자를 최상위 정보로 설정하고 저자의 책을 포함된 필드에 배치합니다.
예시
다대다 관계 를 사용하여 책과 저자를 설명할 수 있습니다. 책에는 여러 명의 저자가 있을 수 있으며, 저자는 여러 권의 책을 쓰기 (write) 할 수 있습니다.
임베디드 문서 패턴
애플리케이션 은 책 및 저자 객체에 대한 정보를 한 페이지에 표시해야 합니다. 애플리케이션 에서 한 번의 쿼리 로 필요한 모든 정보를 조회 할 수 있도록 하려면 해당 도서 문서 에 작성자 정보를 포함하세요.
{ _id: "book001", title: "Cell Biology", authors: [ { author_id: "author124", name: "Ellie Smith" }, { author_id: "author381", name: "John Palmer" } ] } { _id: "book002", title: "Organic Chemistry", authors: [ { author_id: "author290", name: "Jane James" }, { author_id: "author381", name: "John Palmer" } ] }