문서 메뉴
문서 홈
/
MongoDB 매뉴얼
/ / /

부모 참조가 있는 모델 트리 구조

이 페이지의 내용

  • 개요
  • 패턴

이 페이지에서는 하위 노드의 '부모' 노드에 대한 참조 를 저장하여 MongoDB 문서에서 트리와 같은 구조를 설명하는 데이터 모델에 대해 설명합니다.

부모 참조 패턴은 문서에 각 트리 노드를 저장하며, 문서에는 트리 노드 외에도 노드의 상위 노드의 ID가 저장됩니다.

다음과 같은 카테고리 계층 구조를 고려하세요:

카테고리의 샘플 계층 구조에 대한 트리 데이터 모델입니다.

다음 예제에서는 부모 참조를 사용하여 트리를 모델링하고 parent 필드에 상위 카테고리에 대한 참고를 저장합니다.

db.categories.insertMany( [
{ _id: "MongoDB", parent: "Databases" },
{ _id: "dbm", parent: "Databases" },
{ _id: "Databases", parent: "Programming" },
{ _id: "Languages", parent: "Programming" },
{ _id: "Programming", parent: "Books" },
{ _id: "Books", parent: null }
] )
  • 노드의 상위를 조회하는 쿼리는 빠르고 간단합니다.

    db.categories.findOne( { _id: "MongoDB" } ).parent
  • 상위 노드에서 빠르게 검색하도록 parent 필드에 인덱스를 생성할 수 있습니다.

    db.categories.createIndex( { parent: 1 } )
  • parent 필드로 쿼리하여 직계 하위 노드를 찾을 수 있습니다.

    db.categories.find( { parent: "Databases" } )
  • 하위 트리를 조회하려면 $graphLookup을 참조하세요.

돌아가기

트리 구조

이 페이지의 내용