ANNOUNCEMENT: Voyage AI joins MongoDB to power more accurate and trustworthy AI applications on Atlas.
Learn more
Docs Menu

新機能

MongoDB Rust ドライバーの次のバージョンで導入されている新機能、改善点、修正について説明します。

Rust ドライバー v 3.2リリースには、次の機能、改善点、修正が含まれています。

  • 重要: 次のマイナー リリースでは、 MongoDB Serverバージョン4.0 のサポートが終了し、サポートされる最小バージョンが4.2 に引き上げられます。重大な変更に対応するために、アプリケーションに変更を加えることをお勧めします。 アップグレードの詳細については、サーバー マニュアルの「 リリースノート 」セクションを参照してください。

  • サポートされるRustの最小バージョンを 1.71.1 に増やします。 ドライバーの互換性の詳細については、 互換性ガイドを参照してください。

  • ドライバーと同じ下位互換性の保証を持つ、使用中の暗号化機能を安定版としてマークします。 機能フラグの名前は in-use-encryption です。 これはポリシーの変更であり、 API は以前のリリースから変更されていません。

  • 部分が 3 つ未満の SRV ホスト名を許可します。

  • 更新操作を実行するときにソート オプションを指定できるようにします。

  • Kubernetes環境の OIDC認証サポートを追加します。

    OIDC を使用してKubernetes環境から認証するには、接続文字列で authMechanismProperties 接続オプションを ENVIRONMENT:k8s に設定します。 この機能は、Amazon の Elastic Kubernetes Service、Google Kubernetes Engine、またはAzure Kubernetes Service で実行中環境に接続するときに使用できます。

このリリースの詳細については、 v3.2 リリースノート を参照してくださいGithub .

Rust ドライバー v 3.1リリースには、次の機能、改善点、修正が含まれています。

  • 同じタイプの複数のKMS ( KMS )プロバイダーのサポートを追加します。 KMSQueryable Encryptionプロバイダーの詳細については、MongoDB Server マニュアルの「 」を参照してください。

  • Queryable Encryption 範囲プロトコルの v 2のサポートを追加します。 Queryable Encryption の範囲インデックスは GA 版が提供されています。

  • Atlas Search およびベクトル検索インデックスのプログラムによる作成を可能にするために typeタイプにSearchIndexModel フィールドを追加します。詳細については、 「Atlas Search とベクトル検索インデックスのガイド」を参照してください。

  • TCP 接続を管理するための式を実装します。 このアルゴリズムについて詳しくは、Rust のドキュメントの hay_eyeballs について を参照してください。 crate

  • ドライバーは、トポロジーが閉じられたときにTopologyDescriptionChangedEventイベントを公開します。

このリリースの詳細については、 v3.1 リリースノート を参照してくださいGithub .

Rust ドライバー v 3.0.1リリースには、次の機能、改善点、修正が含まれています。

  • 明示的なセッション内で実行され、カスタム型も実装された場合に集計がコンパイルされない問題を修正します。

  • Collection::watch()メソッドが実行されるCollectionインスタンスの型パラメータを使用しなかった問題を修正しました。

このリリースの詳細については、 v3.0.1 リリースノート を参照してくださいGithub .

Rust ドライバー v 3.0リリースには、次の機能、改善点、修正が含まれています。

  • オプションを渡し、セッションを開始するために次のAPIの変更を導入します。

    • 非同期メソッド オプションを渡すには、オプション 構造パラメーターを渡す代わりに、オプション ビルダ メソッドをメソッド呼び出しに直接連鎖させます。

    • 同期メソッド オプションを設定するには、オプション ビルダ メソッドをメソッド呼び出しに連結し、 run()メソッドを呼び出します。

    • 別のオプション構造体を作成する必要がある場合は、 with_options()メソッドを メソッド呼び出しにチェーンし、オプション構造体をパラメーターとして渡します。

    • セッションを開始するには、 _with_sessionサフィックスを持つ別のメソッドを使用する代わりに、 session()メソッドを メソッド呼び出しに連鎖させます。

  • 一括書き込み操作のサポートを追加しました。 これらの操作の詳細については、一括操作のガイドを参照してください。

  • イベント モニタリングに必要なディレクティブ コードの量を減らすために、 EventHandlerタイプを導入します。 EventHandler型を使用する例については、モニタリングガイドを参照してください。

  • async-std非同期ランタイムのサポートを廃止します。 この変更の詳細については、「 非同期 API と同期 API ガイドの「 非同期ランタイムの構成」セクションを参照してください。

  • Rust ドライバー アプリケーションがno-default-featuresコマンドライン フラグを使用してコンパイルされている場合は、 compat機能を使用する必要があります。 rustlsdns-resolutionの機能は任意になりました。

  • bson-*ドライバー機能のサポートを廃止します。 これらの機能を選択するには、アプリケーションにbsonを直接依存関係として含めます。

  • 読み取り保証 (read concern) 定数と書込み保証 (write concern) 定数のサポートを廃止します。 代わりに、ヘルパー メソッドを使用してReadConcernWriteConcernの値を設定します。

  • Collection<T>タイプにSend + Syncの制約を追加します。

  • コンプレッサー機能が有効になっていない場合は、 ClientOptions::compressorフィールドを削除します。

  • ReadPreferenceOptionsフィールドのタイプを変更します。 これらのフィールドのタイプはOption<ReadPreferenceOptions>になりました。

  • CollectionOptions::human_readable_serializationオプションを削除します。 代わりに、 bson::HumanReadableラッパー型を使用してユーザーデータを人間が判読できる形式に直列化します。

  • すべてのオプション構造体ビルダにInto特権を介した値変換のサポートを追加します。

  • AggregateOptionsFindOptionsFindOneOptions構造体のcomment_bsonフィールドの名前をcommentに変更します。

このリリースの詳細については、 v3.0 移行ガイド Githubを参照してください。 .

Rust ドライバー v2.8 のリリースには、次の機能、改善点、修正が含まれています。

  • MongoDB Atlas Searchインデックスマネジメントメソッドを追加します。これらのメソッドの詳細については、「Atlas Search とベクトル検索インデックスのガイド」を参照してください。

  • 次の動作を実装することで、ネットワーク接続と操作の信頼性を向上させます。

    • ドライバーが発生したエラーの種類の範囲が再試行されます。

    • ネットワーク接続の問題が発生しているmongosインスタンスの再試行を回避します。

このリリースの詳細については、 v2.8.0 リリースのハイライト Githubを参照してください。 .

Rust ドライバー v2.7 のリリースには、次の機能、改善点、修正が含まれています。

  • CollectionOptions構造体にhuman_readable_serializationオプションを追加します。 このオプションは、CRUD メソッドに渡される値を人間が判読できる形式として直列化するようにドライバーに指示します。 このオプションのデフォルト値はfalseです。

    警告

    human_readable_serializationの値をtrueに設定すると、挿入操作の実行が遅くなる可能性があります。

  • データベースコマンドを実行し、応答をCursorタイプとして取得するためのrun_cursor_command()メソッドを追加します。 詳細については、「コマンドの実行」ガイドを参照してください。

  • tracing-unstable機能フラグを使用すると、SDAM イベント ログを追加します。

  • Clientと接続管理に次の構成を追加します。

    • max_connecting : ClientOptions構造体で設定して、並列に確立できる接続数を指定できるオプション。 このオプションの詳細については、パフォーマンスに関する考慮事項ガイドの「接続プール」を参照してください。

    • Client::warm_connection_pool() : 接続プールに新しい接続を作成して、より予測可能なパフォーマンスを提供するために使用できるメソッド。 このメソッドを使用すると、ドライバーはmin_pool_size設定で指定された数まで接続の作成を試みます。

    • Client::shutdown() : バックグラウンド タスクを停止し、ハンドラーが削除されるのを待機するために使用できるメソッド。 このメソッドは、イベント ハンドラーを使用して外部リソースを参照する場合に役立ちます。これらのハンドラーは、 Clientが閉じられた後でもタスクで使用される可能性があるためです。

このリリースの詳細については、 v2.7.0 リリースのハイライト Githubを参照してください。 .

Rust ドライバー v2.6 のリリースには、次の機能、改善点、修正が含まれています。

  • Amazon Web ServicesElasticKubernetes Service(EKS)アカウントなどのサービスアカウントに対して Identity and Access Management(IAM)ロールをサポートします。

  • Cloud KMS(Cloud Key Management System)を使用する場合、GCP 接続サービス アカウントをサポートします。

  • Azure KMS からのオンデマンド CSFLE 認証情報の取得をサポートします。

  • Namespace構造体にFromStr特性を実装します。 この変更により、 "testdb.testcollection"などのデータベース名とコレクション名を含む string をNamespaceインスタンスに解析できます。

  • ConnectionInfo構造体にserver_idi64タイプとして含めます。

  • Cursorによって参照される値のほとんどの型制約を削除します。

  • 等価クエリで Queryable Encryption 機能を使用するために、ドライバーの依存関係内のlibmongocryptバージョンを更新します。

このリリースの詳細については、 v2.6.0 リリースのハイライト Githubを参照してください。 .