MongoDB Rust ドライバーの次のバージョンで導入されている新機能、改善点、修正について説明します。
3.1の新機能
Rust ドライバー v 3.1リリースには、次の機能、改善点、修正が含まれています。
同じタイプの複数のKMS ( KMS )プロバイダーのサポートを追加します。 KMSQueryable Encryptionプロバイダーの詳細については、MongoDB Server マニュアルの「 」を参照してください。
Queryable Encryption 範囲プロトコルの v 2のサポートを追加します。 Queryable Encryption の範囲インデックスは GA 版が提供されています。
Atlas Search および Atlas ベクトル検索インデックスのプログラムによる作成を可能にするために
SearchIndexModelタイプにtypeフィールドを追加します。 詳細については、 Atlas Search とベクトル検索インデックスのガイドを参照してください。TCP 接続を管理するためのアルゴリズムを実装します。このアルゴリズムの詳細については、 Rustドキュメントの findRead_eyeballs crate のドキュメントを参照してください。
ドライバーは、トポロジーが閉じられたときに
TopologyDescriptionChangedEventイベントを公開します。
このリリースの詳細については、 Githubの v3.1 リリースノート を参照してください。
3.0.1の新機能
Rust ドライバー v 3.0.1リリースには、次の機能、改善点、修正が含まれています。
明示的なセッション内で実行され、カスタム型も実装された場合に集計がコンパイルされない問題を修正します。
Collection::watch()メソッドが実行されるCollectionインスタンスの型パラメータを使用しなかった問題を修正しました。
このリリースの詳細については、 Githubの v3.0.1 リリースノート を参照してください。
3.0の新機能
Rust ドライバー v 3.0リリースには、次の機能、改善点、修正が含まれています。
オプションを渡し、セッションを開始するために次のAPIの変更を導入します。
非同期メソッド オプションを渡すには、オプション 構造パラメーターを渡す代わりに、オプション ビルダ メソッドをメソッド呼び出しに直接連鎖させます。
同期メソッド オプションを設定するには、オプション ビルダ メソッドをメソッド呼び出しに連結し、
run()メソッドを呼び出します。別のオプション構造体を作成する必要がある場合は、
with_options()メソッドを メソッド呼び出しにチェーンし、オプション構造体をパラメーターとして渡します。セッションを開始するには、
_with_sessionサフィックスを持つ別のメソッドを使用する代わりに、session()メソッドを メソッド呼び出しに連鎖させます。
一括書き込み操作のサポートを追加しました。 これらの操作の詳細については、一括操作のガイドを参照してください。
イベントモニタリングに必要なディレクティブ コードの量を減らすために、
EventHandlerタイプを導入します。EventHandler型を使用する例については、「監視」セクションのガイドを参照してください。async-std非同期ランタイムのサポートを廃止します。 この変更の詳細については、「 非同期 API と同期 API ガイドの「 非同期ランタイムの構成」セクションを参照してください。Rust ドライバー アプリケーションが
no-default-featuresコマンドライン フラグを使用してコンパイルされている場合は、compat機能を使用する必要があります。rustlsとdns-resolutionの機能は任意になりました。bson-*ドライバー機能のサポートを廃止します。 これらの機能を選択するには、アプリケーションにbsonを直接依存関係として含めます。読み取り保証 (read concern) 定数と書込み保証 (write concern) 定数のサポートを廃止します。 代わりに、ヘルパー メソッドを使用して
ReadConcernとWriteConcernの値を設定します。Collection<T>タイプにSend + Syncの制約を追加します。コンプレッサー機能が有効になっていない場合は、
ClientOptions::compressorフィールドを削除します。ReadPreferenceOptionsフィールドのタイプを変更します。 これらのフィールドのタイプはOption<ReadPreferenceOptions>になりました。CollectionOptions::human_readable_serializationオプションを削除します。 代わりに、bson::HumanReadableラッパー型を使用してユーザーデータを人間が判読できる形式に直列化します。すべてのオプション構造体ビルダに
Into特権を介した値変換のサポートを追加します。AggregateOptions、FindOptions、FindOneOptions構造体のcomment_bsonフィールドの名前をcommentに変更します。
このリリースの詳細については、 Githubの v3.0 移行ガイド を参照してください。
2.8 の新機能
Rust ドライバー v2.8 のリリースには、次の機能、改善点、修正が含まれています。
MongoDB Atlas Searchインデックスマネジメントメソッドを追加します。これらのメソッドの詳細については、「Atlas Search とベクトル検索インデックスのガイド」を参照してください。
次の動作を実装することで、ネットワーク接続と操作の信頼性を向上させます。
ドライバーが発生したエラーの種類の範囲が再試行されます。
ネットワーク接続の問題が発生している
mongosインスタンスの再試行を回避します。
このリリースの詳細については、Github の v2.8.0 リリースのハイライト を参照してください。
2.7 の新機能
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が閉じられた後でもタスクで使用される可能性があるためです。
このリリースの詳細については、Github の v2.7.0 リリースのハイライト を参照してください。
2.6 の新機能
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_idをi64タイプとして含めます。Cursorによって参照される値のほとんどの型制約を削除します。等価クエリで Queryable Encryption 機能を使用するために、ドライバーの依存関係内の
libmongocryptバージョンを更新します。
このリリースの詳細については、Github の v2.6.0 リリースのハイライト を参照してください。