マッピング ルールを追加または編集するときにフィールドをカスタマイズできます。 Relational Migrator を使用すると、 計算フィールドを使用してカスタムフィールドを定義したり、カスタマイズID フィールドを使用してカスタム ID を定義したり、ソース関係列のデータ型をサポートされている BSON データ型に変換したりできます。
ユースケース
フィールド カスタマイズを使用すると、次のことが可能になります。
マッピング ルールにフィールドを含めるか除外します。
フィールド名を変更します。
ドット パスを持つ親ドキュメントに子フィールドを埋め込みます。 詳細については、「埋め込みフィールド 」を参照してください。
JavaScript 式を使用して
_idフィールドをカスタマイズします。JavaScript 式を使用してフィールドをカスタマイズします。
null 処理動作を構成します。
動作
フィールド セクションには、関係テーブルの列から派生したフィールドのリストが含まれています。 マッピング ルールには、デフォルトで各列が含まれます。 移行ジョブからフィールドを除外するには、[] ボックスをオフにします。 フィールド名は最初は列名(グローバル ケースが適用された)と一致します。名前を変更するには、テキストボックスを編集します。 各フィールドの横にあるアイコンをクリックすると、追加のオプションが表示されます。
Relational Migrator は、ソース列のデータ型に最も近い MongoDB フィールドにデフォルトのデータ型を割り当てます。
BSON Type ドロップダウン メニューを使用して、 MongoDBフィールドのデータ型を別のデータ型に変更し、スキーマ を微調整できます。 選択したタイプがソース値と互換性がない場合、変換された各フィールドは移行ジョブ中にエラーになります。 移行ジョブは、ユーザー定義の最大エラーしきい値に達するまで続行されます。
親ドキュメントに子フィールドを埋め込むには、フィールドの名前を
parent.childという形式で変更します。たとえば、フィールドの名前をproductNameからproduct.nameに変更すると、子ドキュメントの名前をnameが親ドキュメントのproductに埋め込まれます。 同じproduct.プレフィックスを持つ追加のフィールドも子として埋め込まれます。ソース リレーショナル データ型を特定の MongoDB BSON データ型に変更します。
変換されたフィールドでサポートされているデータ型は次のとおりです。
BooleanDateDecimalDoubleIntegerLongString
詳細については、「変換例 」を参照してください。
Null値の動作を指定するには、 Null Handlingを使用します。 これらの値を省略したり、宛先コレクションに含めたりすることができます。フィールドのOriginal nameとOriginal typeを表示できます。 これらの値は、フィールドの発信元となる関係列に対応します。
注意
計算フィールドの場合、 BSON型は最初に Default として表示されます。つまり、実行時にフィールド型が自動的に選択されます。 計算フィールドに明示的なBSON型を選択でき、移行ジョブがプロセスの一部として型を変換します。