Docs Menu
Docs Home
/
Relational Migrator
/ /

임베디드 배열

이 페이지의 내용

  • 이 작업에 대하여
  • 단계
  • 예시

Embedded array 매핑 규칙을 사용하여 하위 테이블의 값을 상위 테이블에 매핑된 컬렉션 의 문서 아래에 배열 요소로 삽입합니다. Embedded array 매핑 규칙은 고급 매핑 규칙 옵션입니다. 매핑 모델에 명시적으로 추가되어야 합니다.

  • Embedded array 매핑 규칙은 매핑하는 관계형 테이블이 외래 키 관계의 다측에 있는 경우 사용할 수 있습니다.

  • 기본 키가 포함된 테이블은 MongoDB 모델의 collection에도 매핑되어야 합니다.

1
  1. 왼쪽 Schema model 창에서 MongoDB 또는 Relational 헤더 아래의 컬렉션 을 클릭합니다.

    그러면 화면 오른쪽에 Mappings 창이 열립니다.

2
  1. Mapping 화면에서 + Add 을 클릭하여 새 매핑 규칙을 만들거나 다음을 클릭합니다. 아이콘을 클릭하여 기존 규칙을 편집합니다.

  2. Migrate table as Embedded array 을 선택합니다.

3
  1. 드롭다운에서 Source table 또는 Parent collection 의 이름을 선택합니다.

  2. 루트 경로를 구성합니다:

    • Prefix: 규칙 계층 구조를 지정합니다.

    • Field name: 내장된 배열 또는 문서 가 포함된 필드 를 지정합니다.

4

두 테이블 사이에 둘 이상의 외래 키가 있는 경우 포함할 외래 키를 선택할 수 있습니다. 이 옵션은 여러 외래 키 링크가 있는 테이블 또는 컬렉션에만 표시됩니다.

  1. Foreign key link 드롭다운에서 포함할 외래 키의 이름을 선택합니다.

5

표현식 이 true 을 반환하는 행을 명시적으로 포함할 수 있습니다. 이는 SQL 쿼리 를 기반으로 필터하다 하고 특정 테이블의 모든 행에 적용 되는 테이블 필터 와는 다릅니다. 매핑 규칙 필터는 특정 매핑에만 적용 됩니다.

  1. Mappings 창에서 다음을 클릭합니다. Advanced settings 옆에 있는 아이콘을 클릭합니다.

  2. Add mapping rule filter 을(를) 선택합니다. 아이콘을 클릭합니다.

  3. Value expression 텍스트 상자에 유효한 JavaScript 필터하다 표현식 을 입력합니다.

6

내장된 배열 을 정렬하고 해당 배열 의 항목 수를 제한할 수 있습니다. 정렬만 적용하거나, 제한만 적용하거나, 둘 다 적용 할 수 있습니다. 단일 항목으로 제한하는 경우 Create an array of primitive values 를 선택하여 단일 요소 배열 대신 문서 로 포함할 수 있는 옵션이 있습니다..

  1. Mappings 창에서 다음을 클릭합니다. Advanced settings 옆에 있는 아이콘을 클릭합니다.

  2. Add array conditions 을(를) 선택합니다. 아이콘을 클릭합니다.

  3. Value expression 텍스트 상자에 필터하다 를 입력합니다.

  4. Sort by and order 헤딩에서 정렬할 소스 필드 를 선택하고 사이를 전환합니다. 오름차순 및 내림차순.

  5. Limit 옵션을 선택합니다.

    • No limit: No limit

    • Limit number of rows: 배열 에 반환되는 최대 요소 수를 입력합니다. 기본값은 10 입니다.

참고

  • 제외된 필드는 정렬할 수 없습니다. 이전에 선택한 정렬 필드 가 나중에 제외되면 배열 점 이 제거됩니다.

  • 연속 작업 의 CDC 단계 중에 배열 이 수정되는 경우 정렬 및 제한은 새로 수정된 행과 기존 배열 요소만 고려하고 배열 에 없는 테이블의 다른 값은 고려하지 않습니다.

7
  1. 새 매핑 규칙에 대한 옵션을 정의합니다. 매핑 규칙 옵션을 정의할 때 다음을 수행할 수 있습니다.

    • collection 이름을 변경합니다.

      컬렉션 이름을 변경하려면 Name 텍스트 상자를 클릭하고 새 이름을 입력합니다. 변경 사항을 저장하려면 텍스트 상자 외부를 클릭합니다. 해당 이름이 이미 사용 중인 경우 유효성 검사 오류가 발생합니다.

    • 계산된 필드를 추가 하여 관계형 소스 열을 기반으로 새 필드를 만듭니다. 자세한 내용은 계산된 필드 를 참조하세요.

    • 필드 이름을 변경합니다.

    • 다음을 클릭하여 동기화 작업에서 필드를 포함하거나 제외합니다. 아이콘을 클릭합니다.

8
  1. Save And Close를 클릭합니다.

이 섹션에서는 Embedded array 매핑 규칙의 관계형 입력과 MongoDB 출력을 보여 줍니다.

이 예시에서는

  • Customer 테이블에 Embedded Array 매핑 규칙이 적용됩니다.

  • Source table 이(가) Order(으)로 설정됩니다.

  • Prefix 이(가) (root)(으)로 설정됩니다.

  • Field Name 이(가) orders(으)로 설정됩니다.

이 예제의 입력 및 출력을 보려면 아래 탭을 클릭하세요.

Customer 테이블:

ID
이름
주소 1
주소 2
주소 3
1
Joelynn Fawthrop
86 드와이트 패스
Caregal
3800-854

Orders 테이블:

주문 ID
CustomerID
총 금액
OrderStatusID
1
1
50.00
1
4
1
500.00
3

이제 Customer 컬렉션의 문서에는 Order 세부 정보가 Orders 라는 객체 배열 필드로 포함되어 있습니다.

이제 모든 고객 주문이 Customer 컬렉션에서 중첩된 문서의 배열로 표시됩니다.

{
"_id": { "CustomerID": 1 },
"Name": "Joelynn Fawthrop",
"Address1": "86 Dwight Pass",
"Address2": "Carregal",
"Address3": "3800-854",
"Orders":
[
{ "OrderID": 1,
"CustomerID": 1,
"TotalAmount": 50,
"OrderStatusID": 1
},
{ "OrderID": 4,
"CustomerID": 1,
"TotalAmount": 500,
"OrderStatusID": 1
}
]
}

돌아가기

새 문서