Docs Menu
Docs Home
/ / /
Java 同期

レガシー API からの移行

項目一覧

  • Overview
  • 現在の API メリット
  • API の変更

このページでは、レガシー API から現在の API に移行するために行う必要がある変更を識別できます。 また、現在の Java ドライバーに固有の機能と新しい API に移行することの利点についても学べます。

mongodb-driver-legacy JAR としてパッケージ化されているレガシー API には、レガシー同期 Java ドライバーが含まれており、ドライバーの以前のバージョンで使用されていた命名規則を使用します。

mongodb-driver-sync JAR としてパッケージ化された現在の API には、現在の同期 Java ドライバーが含まれています。 CRUD 操作へのエントリ ポイントとしてMongoCollectionインターフェースを備えています。 レガシー API は含まれていません。

レガシー API から現在の API への移行を実行するには、必要に応じてコードを更新して、コードがレガシー API を参照しなくなっていることを確認してください。 次に、アプリケーションの依存関係内のレガシー API と、それを含むすべての uber JAR を、現在の API JAR に置き換えます。

必要な変更を処理するようにアプリケーションを更新するだけでなく、本番環境に移行する前に常にオプションと 値に関するその他の違いを確認してください。

新しい MongoDB Server のリリースごとに、レガシー API を引き続き使用できます。 ただし、レガシー API は MongoDB Server 3.0 以降で導入されたアップデートをサポートしていません。 さらに、レガシー API では現在の Java ドライバーの一部の機能のサポートが利用できません。 非レガシー API でのみ使用可能な機能には、次のようなものがあります。

  • 変更ストリームは、単一のコレクション、データベース、または配置に対するリアルタイムの変更を監視するように設計された MongoDB Server の機能です。

  • マルチドキュメント ACID トランザクション。複数のドキュメントへの読み取りと書込みのアトミック性を確保し、複数の操作、コレクション、データベース、ドキュメント、シャードにわたるトランザクションを可能にします

  • 時系列コレクション: 一定期間にわたる測定値のシーケンスを保存し、時系列データのクエリ効率を向上させます

  • Queryable Encryption : 機密ワークロードを暗号化し、暗号化されたデータを照会できます

  • Java レコード、またはビジネス ロジックをデータ表現から分離し、クエリを削減する 簡潔な Java クラス

  • ネイティブ POJO サポート。MongoDB ドキュメントと Java オブジェクト間の自動またはカスタム マッピングを提供します

現在の API の詳細な機能については、「 の新機能 」を参照してください。

次の表は、レガシー API と現在の API におけるクラス名とメソッド名の変更の大半を示しています。

Legacy
Current
MongoCollection.find().first()

See the following API documentation pages for these methods:

次のいずれかの方法を使用します。

次のいずれかの方法を使用します。

次のいずれかの方法を使用します。

前述の項目に加えて、次の変更についても考慮してください。

  • 現在の API は、オーバーロードされたメソッドではなく、 Optionsクラスとメソッド連鎖を使用します。

  • 現在の API は、ドライバー バージョン 4.0 以降ではデフォルトで緩和型 JSON 形式を使用します。 アプリケーションが厳密な JSON 形式に依存している場合は、データの読み取りまたは書き込みで厳密モードを使用します。 現在の API で JSON 形式を指定する方法については、ドキュメント データ形式: 拡張 JSONガイドを参照してください。

  • MongoCollection現在の API における のデフォルトのジェネリック型は org.bson.Document です。 。基本DBObject を指定できます 移行が容易になる場合は、 型パラメーターとして を使用してください。

  • 現在の API では、 aggregate()メソッドに渡す集計パイプラインはBsonインターフェースを拡張するオブジェクトのリストを受け入れますが、レガシー API では、 DBObjectインターフェースを拡張するオブジェクトのリストを受け入れます。

    メソッド署名も API 間で異なります。 詳しくは、次の API ドキュメントを参照してください。

戻る

ドライバーのバージョンをアップグレードする