필터의 정규 표현식
버전 1.6에 새로 추가되었습니다.
1.6 부터 start
API 는 이제 정규 표현식을 사용하여 필터링된 동기화에 사용되는 includeNamespaces
및 excludeNamespaces
매개 변수에 대한 필터를 구성할 수 있도록 지원합니다.
구문
필터링된 동기화 를 사용하도록 mongosync
의 데이터베이스 및 collection을 일치시키려면 정규 표현식을 사용할 수 있습니다.
{ "databaseRegex": { "pattern": "<string>", "options": "<string>" }, "collectionsRegex": { "pattern": "<string>", "options": "<string>" } }
필터 문서의 정규 표현식은 다음 필드를 사용합니다.
옵션 | 유형 | 설명 |
---|---|---|
collectionsRegex | 문서 | 필터와 일치시킬 collection을 지정합니다. |
collectionsRegex.options | 문자열 | 일치에 사용할 정규 표현식 옵션입니다. |
collectionsRegex.pattern | 문자열 | 일치시킬 정규 표현식 패턴입니다. |
databaseRegex | 문서 | 필터를 일치시킬 데이터베이스를 지정합니다. |
databaseRegex.options | 문자열 | 일치에 사용할 정규 표현식 옵션입니다. |
databaseRegex.pattern | 문자열 | 일치시킬 정규 표현식 패턴입니다. |
이러한 옵션은 includeNamespaces
및 excludeNamespaces
매개변수 모두와 함께 사용할 수 있습니다.
사용 사례
정규 표현식을 사용하면 여러 데이터베이스 또는 collection을 단일 패턴으로 일치시킬 수 있습니다. 이름이 비슷한 데이터베이스 또는 컬렉션을 여러 개 일치시키려는 경우 개별 데이터베이스 또는 컬렉션 그룹에 대한 일련의 필터를 만드는 것보다 정규 표현식이 더 쉬울 수 있습니다.
세부 정보
정규 표현식 옵션
databaseRegex
및 collectionsRegex
은 각각 정규 표현식 옵션을 구성하는 데 사용할 수 있는 options
필드를 지원합니다. 내부적으로 mongosync
는 필터와 옵션을 $regex
연산자에 전달합니다. 해당 연산자가 사용할 수 있는 옵션은 Filtred Sync와 함께 사용할 수 있습니다.
예를 들어, 이 필터는 accounts_
문자열로 시작하는 sales
데이터베이스의 collection과 일치합니다.
"includeNamespaces": [ { "database": "sales", "collectionsRegex": { "pattern": "^accounts_.+?$", "options": "ms" } } ]