# データの更新

指定した条件に合致するコレクションのデータを更新します。

コレクションとフィールドへの値の割り当て部分は、「データ作成」ノードと同じです。「データ更新」ノードの主な違いは、フィルター条件が追加され、更新モードを選択する必要がある点です。また、「データ更新」ノードの結果は、更新が成功したデータの行数を返しますが、これは実行履歴でのみ確認でき、後続のノードで変数として使用することはできません。

## ノードの作成

ワークフローの設定画面で、フロー内のプラス（「+」）ボタンをクリックして、「データ更新」ノードを追加します。

![データ更新ノードの追加](https://static-docs.nocobase.com/9ff24d7bc173b3a71decc1f70ca9fb66.png)

## ノードの設定

![データ更新ノードの設定](https://static-docs.nocobase.com/98e0f941c57275fc835f08260d0b2e86.png)

### コレクション

データを更新するコレクションを選択します。

### 更新モード

更新モードには2種類あります。

*   **一括更新**：更新されるデータごとのコレクションイベントはトリガーされません。パフォーマンスが向上し、大量のデータ更新に適しています。
*   **個別更新**：更新されるデータごとのコレクションイベントがトリガーされます。しかし、大量のデータではパフォーマンスの問題が発生する可能性があるため、慎重に使用する必要があります。

通常、更新対象のデータや、他のワークフローイベントをトリガーする必要があるかどうかに応じて選択します。主キーに基づいて単一のデータを更新する場合は個別更新の使用をお勧めします。条件に基づいて複数のデータを更新する場合は一括更新の使用をお勧めします。

### フィルター条件

通常のコレクションクエリにおけるフィルター条件と同様に、ワークフローのコンテキスト変数を使用できます。

### フィールド値

「データ作成」ノードのフィールドへの値の割り当てと同様に、ワークフローのコンテキスト変数を使用したり、静的な値を手動で入力したりできます。

注：ワークフローの「データ更新」ノードで更新されたデータは、「最終更新者」データを自動的に処理しません。必要に応じて、このフィールドの値を手動で設定する必要があります。

## 例

例えば、「記事」が新規作成された際に、「記事カテゴリ」コレクションの「記事数」フィールドを自動的に更新する必要がある場合、「データ更新」ノードを使用してこれを実現できます。

![データ更新ノードの例：ノード設定](https://static-docs.nocobase.com/98e0f941c57275fc835f08260d0b2e86.png)

ワークフローがトリガーされると、「記事カテゴリ」コレクションの「記事数」フィールドが自動的に更新され、現在の記事数に1が加算されます。