MongoDB Atlas - ドキュメント複製アクション
このアクションは、複数のドキュメントをMongoDBコレクションに挿入します。 さらに、このアクションでは既存のドキュメントを更新できるため、コレクション内のドキュメントの重複を防止できます。
ドキュメント履歴を保持する場合は、代わりにInsert documentsアクションを使用してください。 Insert Documentsアクションでは重複排除は実行されません。つまり、既存のドキュメントは更新されず、新しいドキュメントとして挿入されます。 これにより、ドキュメントが時間の経過とともにどのように変更されたかを確認できます。
仕組み
Workatoがドキュメントをターゲットコレクションに複製する際、一意のフィールド入力を使用して既存のドキュメントを確認し、更新します。 これは重複排除と呼ばれ、重複レコードを防止するために使用されます。
要約:
- ドキュメントがコレクションに存在しない場合、Workatoはそのドキュメントを挿入します。
- ドキュメントがコレクションに存在する場合、受信したバージョンのドキュメントで上書きされます。
unique_codeを一意のフィールドとして使用する例を見てみましょう。
コレクション内の既存のドキュメントは次のとおりです:
このドキュメントのunique_code値はCHOSEN_1です。
json
{
"unique_code": "CHOSEN_1",
"first_name": "Anakin",
"last_name": "Skywalker",
"friends": ["c3po", "r2d2"]
}受信したドキュメントのバージョンは次のとおりです:
unique_code値がCHOSEN_1のままであっても、その他のフィールド値は既存のドキュメントとは異なることに注意してください:
json
{
"unique_code": "CHOSEN_1",
"first_name": "Darth",
"last_name": "Vader",
"master": "Palpatine"
}複製後のドキュメント:
複製中、Workatoはunique_code: CHOSEN_1を持つレコードを検索し、一致するものがある場合は既存のレコードを上書きします。
この例では、最終的なドキュメントは次のようになります:
json
{
"unique_code": "CHOSEN_1",
"first_name": "Darth",
"last_name": "Vader",
"master": "Palpatine"
}入力
| フィールド | 説明 |
|---|---|
| コレクション | ドキュメントの複製先となるターゲットデータベースコレクションの名前。 注: 名前では大文字と小文字が区別されます。 |
| ドキュメント | コレクションに複製するドキュメント。 このフィールドではListデータピルを使用できます。 |
| 一意のフィールド | ドキュメントを一意として識別するフィールド。 例:一意のcustomer_idWorkatoはこれらのフィールドを使用してレコードの重複を排除します。 ドキュメントがコレクションにすでに存在する場合、そのドキュメントは更新されます。 それ以外の場合、新しいドキュメントが挿入されます。 |
出力
| フィールド | 説明 |
|---|---|
| コレクション名 | ドキュメントが複製されたターゲットデータベースコレクションの名前。 |
| 挿入されたドキュメント | コレクションに挿入されたドキュメントの合計数。 |
| 更新されたドキュメント | 更新されたコレクション内のドキュメントの合計数。 |
| 挿入されたID | 挿入されたドキュメントの_id値の配列。
|
リソース
Last updated: