バージョン 1.6 の新機能.
1.6以降、start APIでは、フィルタリング同期で使用される パラメータと パラメータのフィルタを構成するために、正規表現includeNamespaces excludeNamespacesを使用できるようになりました。
構文
フィルタリングされた同期を使用するためにmongosyncのデータベースとコレクションを照合するには、正規表現を使用できます。
{ "databaseRegex": { "pattern": "<string>", "options": "<string>" }, "collectionsRegex": { "pattern": "<string>", "options": "<string>" } }
フィルター ドキュメント内の正規表現では、次のフィールドが使用されます。
オプション | タイプ | 説明 |
|---|---|---|
| ドキュメント | フィルターで一致させるコレクションを指定します。 |
| string | 一致で使用する正規表現オプション。 |
| string | 一致する正規表現パターン。 |
| ドキュメント | フィルターを一致させるデータベースを指定します。 |
| string | 一致で使用する正規表現オプション。 |
| string | 一致する正規表現パターン。 |
これらのオプションは、 includeNamespacesとexcludeNamespacesパラメーターの両方で使用できます。
ユースケース
正規表現を使用すると、複数のデータベースやコレクションを単一のパターンで一致させることができます。 複数の同じ名前のデータベースまたはコレクションを照合する場合は、個々のデータベースまたはコレクションのグループに対して一連のフィルターを作成するよりも正規表現を使用した方が簡単な場合があります。
詳細
正規表現オプション
databaseRegex と collectionsRegex はそれぞれ optionsフィールドをサポートしています。このフィールドを使用して正規式オプションを構成できます。内部的には、mongosync はフィルターとオプションを $regex 演算子に渡します。その演算子が使用できるオプションは、Filted Sync で使用できます。
たとえばこのフィルターは、 accounts_ string で始まるsalesデータベース内のコレクションと一致します。
"includeNamespaces": [ { "database": "sales", "collectionsRegex": { "pattern": "^accounts_.+?$", "options": "ms" } } ]