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_id

Workatoはこれらのフィールドを使用してレコードの重複を排除します。 ドキュメントがコレクションにすでに存在する場合、そのドキュメントは更新されます。 それ以外の場合、新しいドキュメントが挿入されます。

出力

フィールド説明
コレクション名ドキュメントが複製されたターゲットデータベースコレクションの名前。
挿入されたドキュメントコレクションに挿入されたドキュメントの合計数。
更新されたドキュメント更新されたコレクション内のドキュメントの合計数。
挿入されたID挿入されたドキュメントの_id値の配列。

リソース

Last updated: