Docs Menu
Docs Home
/
Relational Migrator
/ / /

계산된 필드 추가

이 페이지의 내용

  • 시작하기 전에
  • 이 작업에 대하여
  • 단계
  • 예시
  • 문자열 연결
  • 문자열 분할
  • 문자열 바꾸기
  • 문자열 값 확인
  • 수학 연산 수행
  • 논리적 조건에 따라 값 할당
  • JSON 값 추출
  • 배열 요소에 액세스
  • 날짜 구문 분석
  • 자세히 알아보기

계산된 필드를 사용하면 JavaScript 표현식을 사용하여 기존 데이터베이스 열의 값을 결합하여 문서에 새 필드를 만들 수 있습니다. 계산된 필드는 마이그레이션 작업 중에 행이 처리될 때마다 평가됩니다.

계산된 필드를 생성하려면 매핑 규칙을 정의해야 합니다.

매핑 규칙을 생성하려면 다음 페이지를 참조하세요.

  • 제안된 매핑에서 규칙 만들기

  • MongoDB에 규칙 만들기

  • Relational에서 규칙 만들기

계산된 필드 표현식은 columns["<COLUMN_NAME>"] 구문을 사용하여 현재 소스 데이터베이스 행의 값에 액세스합니다.

When defining Calculated Fields and Customize ID Fields, Relational Migrator shows an initial data type of default. When you run a migration job, Relational Migrator updates this data type.

  1. Mapping 화면의 Schema model 창 또는 다이어그램 보기에서 테이블 또는 collection 이름을 클릭합니다.

  2. 새 매핑 규칙을 추가하거나 기존 매핑 규칙을 편집합니다.

  3. All fields 라벨 오른쪽에 있는 + 아이콘을 클릭합니다.

  4. Field Name 텍스트 상자에 새 필드의 이름을 정의합니다.

  5. Value expression 텍스트 상자의 새 필드에 유효한 JavaScript 표현식을 정의합니다.

  6. Done를 클릭합니다.

  7. Save and close를 클릭합니다.

새 필드 는 다음 마이그레이션 작업 이 실행된 후 MongoDB 에 표시됩니다.

다음 예제에서는 계산된 필드에서 사용할 수 있는 JavaScript 표현식을 보여줍니다.

두 열을 단일 필드로 결합합니다.

다음 예에서는 firstNamelastName 열의 문자열 값을 연결합니다.

표현식:

columns["firstName"] + ' ' + columns["lastName"]

입력:

firstName
John
lastName
Smith

출력:

"John Smith"

지정된 문자를 기반으로 열 값을 배열로 분할합니다.

다음 예에서는 공백 문자를 구분자로 사용하여 fullName 열을 배열로 분할하고 배열의 첫 번째 요소를 반환합니다.

표현식:

columns["fullName"].split(' ')[0]

입력:

fullName
John Doe

출력:

"John"

정규식 패턴을 적용하여 열의 문자열 값을 바꿉니다.

다음 예시에서는 smith 문자열에 대해 fullName 열에서 대소문자를 구분하지 않는 정규식 검색을 수행합니다. 일치하는 항목이 발견되면 표현식은 일치하는 문자열을 Doe 로 바꿉니다.

표현식:

columns["fullName"].replace(/smith/i, "Doe")

입력:

fullName
John Smith

출력:

"John Doe"

열에 문자열 값이 포함되어 있는지 여부에 따라 true 또는 false를 반환합니다.

다음 예에서는 fullName 열의 값에 문자열 Smith 가 포함된 경우 true 을 반환합니다. fullName 열에 문자열 Smith 가 포함되어 있지 않으면 표현식은 false 를 반환합니다.

표현식:

columns["fullName"].includes("Smith")

입력:

fullName
John Smith

출력:

true

열 값에 대해 수학적 연산을 수행합니다.

다음 예에서는 col1col2 열의 값을 곱합니다.

표현식:

columns["col1"] * columns["col2"]

입력:

coll1
3
coll2
2

출력:

6

논리적 조건에 따라 열 값을 할당합니다.

다음 예에서는 col1 의 값이 3 인 경우 yes 를 반환하고 col13 이외의 값이면 no 을 반환합니다.

표현식:

columns["col1"] === 3 ? "yes" : "no"

입력:

coll1
3

출력:

yes

계산된 필드 표현식을 사용하여 JSON 데이터 유형으로 저장된 데이터에 액세스합니다. JSON 데이터 유형 열이 필요합니다(Postgres).

다음 예제에서는 Employee 열의 값에서 포함된 state 필드의 값을 반환합니다.

표현식:

columns["Employee"].Address.state

입력:

{
Employee: {
name: "Mark",
Address: {
state: "California"
}
}
}

출력:

"California"

계산된 필드 표현식을 사용하여 배열 데이터 유형으로 저장된 데이터에 액세스합니다. 배열 데이터 유형 열이 필요합니다(Postgres 또는 MySQL).

다음 예에서는 myArray 열에 있는 값 중 두 번째 요소를 반환합니다.

표현식:

columns["myArray"][1]

입력:

myArray
[ "a", "b", "c" ]

출력:

"b"

ISO8601 형식의 날짜 문자열을 날짜로 구문 분석합니다.

다음 예에서는 dateAsString 열의 문자열 값을 날짜로 변환합니다.

표현식:

new Date(columns["dateAsString"])

입력:

dateAsString
"2009-02-11"

출력:

2009-02-11T0:00:00Z

돌아가기

계산된 필드