# MongoDB Atlas - Replicate Documents (ドキュメントの複製) アクション
このアクションは、複数のドキュメントを MongoDB コレクションに挿入します。既存のドキュメントは更新されるため、コレクション内に重複したドキュメントが作成されるのを防ぐこともできます。
ドキュメントの履歴を保持する場合は 、代わりにドキュメントの挿入アクションを使用してください。このアクションでは重複除去が実行されません。つまり、既存のドキュメントは更新されず、すべてが新規ドキュメントとして挿入されます。これにより、ドキュメントが時間の経過とともにどのように変化したかを確認できます。
# 動作の仕組み
ターゲットコレクションへのドキュメントの複製時、Workato は入力項目の Unique fields を使用して既存のドキュメントの有無をチェックし、更新します。この機能は重複除去または重複排除と呼ばれ、レコードの重複を防止するために使用されます。
つまり、
- コレクション内にドキュメントが存在しない場合は 、ドキュメントを挿入します。
- コレクション内にドキュメントが存在する場合は 、ドキュメントの新しいバージョンで上書きします。
unique_code
を Unique field として使用する例を見てみましょう。
コレクション内にある既存のドキュメント :
このドキュメントの unique_code
値は CHOSEN_1
です。
{
"unique_code": "CHOSEN_1",
"first_name": "Anakin",
"last_name": "Skywalker",
"friends": ["c3po", "r2d2"]
}
ドキュメントの新しいバージョン :
unique_code
値は CHOSEN_1
のままですが、他の項目の値が既存のドキュメントと異なります。
{
"unique_code": "CHOSEN_1",
"first_name": "Darth",
"last_name": "Vader",
"master": "Palpatine"
}
複製後のドキュメント :
複製時、Workato は unique_code: CHOSEN_1
のレコードを検索し、一致があった場合は既存のレコードを上書きします。
この例の最終的なドキュメントは以下のようになります。
{
"unique_code": "CHOSEN_1",
"first_name": "Darth",
"last_name": "Vader",
"master": "Palpatine"
}
# 入力
項目 | 説明 |
---|---|
Collection | ドキュメントを複製するターゲットデータベースコレクションの名前。注 : 名前では大文字と小文字が区別されます。 |
Documents | コレクションに複製するドキュメント。この項目にはリストデータピルを使用できます。 |
Unique fields | ドキュメントを一意として識別する1つまたは複数の項目。例 : 一意の customer_id Workato はこれらの項目を使用してレコードの重複除去を行います。ドキュメントがコレクション内にすでに存在する場合は更新し、存在しない場合は新しいドキュメントを挿入します。 |
# 出力
項目 | 説明 |
---|---|
Collection name | ドキュメントが複製されたターゲットデータベースコレクションの名前。 |
Documents inserted | コレクションに挿入されたドキュメントの合計数。 |
Documents updated | 更新されたコレクション内のドキュメントの合計数。 |
Inserted IDs | 挿入されたドキュメントの _id 値の配列。
|
# リソース
Last updated: 2023/8/31 1:07:14