35.7.2. 作成/更新の操作


35.7.2.1. insert

IN メッセージボディーから取得した MongoDB コレクションに新しいオブジェクトを挿入します。型変換は、ドキュメント または リスト に変換しようとし ます
単一の挿入と複数の挿入の 2 つのモードがサポートされます。複数の挿入の場合、エンドポイントは、または - Document に変換できる限り、任意のタイプのオブジェクトの List、Array、または Collections を想定します。以下に例を示します。

from("direct:insert")
    .to("mongodb:myDb?database=flights&collection=tickets&operation=insert");
Copy to Clipboard Toggle word wrap

操作は WriteResult を返し、WriteConcern または invokeGetLastError オプションの値によっては、getLastError () はすでに呼び出されます。書き込み操作の最終結果にアクセスする場合は、WriteResultgetLastError ()または getCachedLastError () を呼び出して CommandResult を取得する必要があります。次に、CommandResult. ok ()、CommandResult. getErrorMessage ()、および/または CommandResult.getException ( )を呼び出すことで結果を確認できます。

新規オブジェクトの _id はコレクションで一意である必要があることに注意してください。値を指定しないと、MongoDB が自動的に生成されます。しかし、それを指定して一意でない場合は、挿入操作は失敗します(Camel が通知する場合は、callGetLastError を有効にするか、書き込み結果を待つ WriteConcern を設定する必要があります)。

これはコンポーネントの制限ではありませんが、スループットを高めるために MongoDB でどのように機能するかです。カスタムの _id を使用している場合は、アプリケーションレベルが一意であることを確認する必要があります(これはグッドプラクティスでもあります)。

挿入されたレコードの OID は、CamelMongoOid キー下のメッセージヘッダー(MongoDbConstants.OID 定数)に保存されます。保存される値は、単一の挿入の場合は org.bson.types .ObjectId、複数のレコードが挿入されている場合は java.util.List<org.bson.types.ObjectId > です。

MongoDB Java Driver 3.x では、insertOne および insertMany 操作は void を返します。Camel insert 操作は挿入された Document または List of Documents を返します。各ドキュメントは、必要に応じて新しい OID によって更新されることに注意してください。

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat