216.5.4. 一括書き込み操作


216.5.4.1. bulkWrite

Camel 2.21 で利用可能

実行順序を制御すると共に書き込み操作を一括して実行します。insert、update、および delete 操作のコマンド が含まれる IN メッセージボディーとして List<WriteModel<DBObject >> が必要です。

以下の例では、「scientist」フィールドの値を「Marie Curie」に設定し、ID で新しいサイエンティスト「Pierre Curie」を挿入し、ID が "3" のレコードを削除します。

// route: from("direct:bulkWrite").to("mongodb:myDb?database=science&collection=notableScientists&operation=bulkWrite");
List<WriteModel<DBObject>> bulkOperations = Arrays.asList(
            new InsertOneModel<>(new BasicDBObject("scientist", "Pierre Curie")),
            new UpdateOneModel<>(new BasicDBObject("_id", "5"),
                                 new BasicDBObject("$set", new BasicDBObject("scientist", "Marie Curie"))),
            new DeleteOneModel<>(new BasicDBObject("_id", "3")));

BulkWriteResult result = template.requestBody("direct:bulkWrite", bulkOperations, BulkWriteResult.class);

デフォルトでは、操作は順番に実行され、リスト内で残りの書き込み操作を処理せずに最初の書き込みエラーで中断されます。MongoDB に対してリストの残りの書き込み操作を処理するよう指示するには、CamelMongoDbBulkOrdered IN メッセージヘッダーを false に設定します。順序のない操作は並行して実行され、この動作は保証されません。

ヘッダーキークイック定数説明(MongoDB API ドキュメントから抽出)想定されるタイプ

CamelMongoDbBulkOrdered

MongoDbConstants.BULK_ORDERED

順序付けされた操作または順序付けされていない操作の実行を実行します。デフォルトは true です。

boolean/Boolean

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.