[MongoDB] Modeling 6.TreePattern

기훈·2024년 4월 8일

MongoDB

목록 보기
9/28

회사의 결제선 상품 카테고리등을 트리패턴을 통해 모델링 해보자

회사 결재선 작성

  1. 테스트 데이터 삽입
    // 테스트 데이터 삽입
    db.employees.insertMany([
        {
            _id: 1,
            name: "Eliot",
            position: "CEO"
        },
        {
            _id: 2,
            name: "Ron",
            position: "Center Lead",
            reportsTo: "Eliot"
        },
        {
            _id: 3,
            name: "Tom",
            position: "Team Lead",
            reportsTo: "Ron"
        },
        {
            _id: 4,
            name: "Bred",
            position: "Team Member",
            reportsTo: "Tom"
        },
        {
            _id: 5,
            name: "Don",
            position: "Team Member",
            reportsTo: "Tom"
        },
        {
            _id: 6,
            name: "Carl",
            position: "Team Member",
            reportsTo: "Tom"
        }
    ])
  2. 트리구조로 데이터 표현하기
    db.employees.aggregate([
        {
            $graphLookup: {
                from: "employees", // 어떤 컬렉션을 참조할 것이냐
                startWith: "$reportsTo", // 어디서부터 시작
                connectFromField: "reportsTo", // 어떤 필드를 
                connectToField: "name", // 어떤 필드까지 연결할 것인지
                depthField: "depth",
                as: "reportingHierarchy"
            }
        }
    ])

    (데이터간 관계가 표현된다. 순서보장 x)

0개의 댓글