문서 필터링
중요
Cluster-to-Cluster Sync 베타 프로그램
이 기능은 mongosync
베타에서만 사용할 수 있습니다. 자세한 내용은 Cluster-to-Cluster Sync 베타 프로그램을 참조하세요.
mongosync
베타 1 부터 시작됩니다.8, 특정 조건에 따라 문서를 선택적으로 마이그레이션할 수 있습니다. 대상 클러스터로 마이그레이션되는 문서를 더욱 제한하기 위해 문서 필터링과 네임스페이스 필터링을 결합할 수 있습니다.
문서 필터링을 사용하려면 소스 클러스터와 대상 클러스터 모두 지원되는 MongoDB 버전을 사용해야 합니다.
구문
start
API 엔드포인트는 다음 구문을 사용하여 선택적 documentFilter
매개변수를 허용합니다.
"documentFilter" : { "field" : <field-name>, "matchValues" : [<field-values>] }
매개변수 필드
필드 | 유형 | 필요성 | 설명 |
---|---|---|---|
field | 문자열 | 필수 사항 | 필드 이름 |
matchValues | 배열 | 필수 사항 | 문서를 마이그레이션하기 위해 가져야 하는 필드 값입니다. |
제한 사항
field
이름에는 점(.
) 또는 달러 기호($
)를 포함할 수 없습니다.matchValues
배열 항목은 다음과 같은 BSON types일 수 있습니다.모든 숫자 유형
바이너리
부울
Datetime
ObjectID
문자열
마이그레이션 중에는 문서가 필터 안팎으로 이동해서는 안 됩니다.
문서 필터에 문자열과 기본 데이터 정렬이 아닌 마이그레이션된 컬렉션이 하나 이상 포함되어 있으면
mongosync
가 즉시 실패합니다.진행 API 엔드포인트를 호출하고 문서 필터 를 사용하는 경우
estimatedTotalBytes
응답 필드가null
를 반환합니다.대상 클러스터에는 필터와 일치하는 기존 데이터가 포함되어서는 안 됩니다.
문서 필터를 지정하고
reversible
플래그를true
로 설정할 수 없습니다.
예제
문서 필터로시작 mongosync
다음 예는 cluster0
와 cluster1
간에 동기화 작업을 시작합니다. 소스 클러스터는 cluster0
이고 대상 클러스터는 cluster1
입니다.
cluster0
restaurants
, attractions
및 lodging
컬렉션을 포함하는 travel
데이터베이스를 포함합니다. restaurants
, attractions
및 lodging
컬렉션의 문서에는 모두 city
필드가 포함되어 있습니다.
이 예제의 documentFilter
문서는 city
필드가 Los Angeles
, New York
또는 San Francisco
인 문서를 필터링합니다.
"documentFilter" : { field : "city", matchValues: [ "Los Angeles", "New York", "San Francisco" ] }