新機能
項目一覧
次の新機能をご覧ください。
1.17の新機能
重要
v 1.17は、予定されている最終的な1 .x バージョン リリースです。 このバージョンではセキュリティとバグが修正されますが、将来の開発と機能はドライバーの2 .x バージョンにのみ含まれます。
1.17 Go ドライバーのリリースには、次の改善点と修正が含まれています。
OpenID Connect(OIDC)認証のサポートを追加しました。 詳細については、エンタープライズ認証メカニズム ガイドの MONGODB-OIDCセクションを参照してください。
Queryable Encryption(QE)範囲クエリのサポートを追加します。 この機能を使用するには、アプリを MongoDB Server 8.0以降に接続する必要があります。 QEQueryable Encryption 範囲クエリの詳細については、MongoDB Server マニュアルの「 」を参照してください。
クライアントの一括書き込み機能を除く MongoDB Server 8.0のサポートを追加します。
IndexView
タイプを拡張して メソッドとDropOneWithKey()
DropWithKey()
メソッドを含めるため、名前の代わりにキー仕様を使用してインデックスを削除できます。
このバージョンの変更の詳細については、 v1.17 リリースノート を参照してくださいGithub .
1.16の新機能
1.16 Go ドライバーのリリースには、次の改善点と修正が含まれています。
Atlas Search インデックスの作成時、インデックス タイプを指定するためのサポートを追加しました。
zstd
圧縮アルゴリズムが有効になっている場合、メモリ使用量を削減します。一部の依存関係要件をアップグレードします。 アップグレードのリストについては、 v1.16 リリースノートの「アップグレードの依存関係」セクションを参照してください。
これらの変更の詳細については、 v1.16 リリースノート を参照してください Github で。
1.15.1の新機能
1.15.1 Go ドライバーのパッチ リリースには、次の改善と修正が含まれています。
レプリカセット クラスターから切断すると
rttMonitor
接続が残る可能性のある接続リークを修正します。クライアント全体のタイムアウトと操作タイムアウトが設定されている場合に、読み取りおよび集計操作に
maxTimeMS
値を手動で指定するためのサポートを追加します。変更ストリームで呼び出しできる
RemainingBatchLength()
メソッドを追加します。
これらの変更の詳細については、 v1.15.1 リリースノート を参照してください Github で。
1.15の新機能
1.15 Go ドライバーのリリースには、次の改善点と修正が含まれています。
接続チャーンは、
timeoutMS
接続オプションを指定するか、 SetTimeout() を呼び出すことで、クライアント全体のタイムアウトを設定することで軽減できます。 関数を使用します。タイムアウトが設定されている場合、ドライバーは操作がタイムアウトした後に接続の再利用を試み、最大 1 秒間待機して接続が再利用できるかどうかを確認してから、接続を閉じます。接続プール イベントには、チェックアウト期間と接続を確立するための合計時間数を測定するための
Duration
フィールドが含まれています。
1.14の新機能
1.14 Go ドライバーのリリースには、次の改善点と修正が含まれています。
1.18より前の Go バージョンはサポートされなくなりました。
ハートビート タイムアウトが発生した場合、進行中の操作は先行してキャンセルされます。
"mongodb+srv://"
プレフィックスを含む接続文字列では、SRV ホスト名に大文字を含めることができます。
1.13の新機能
1.13 Go ドライバーのリリースには、次の改善点と修正が含まれています。
サーバー選択と SDAM のログ。 ロギングについて詳しくは、「 ログ記録 」のドキュメントを参照してください。
検索インデックスをプログラムで管理できる
Collection
型のメソッド。event.CommandStartedEvent
イベントとevent.CommandFinishedEvent
イベントはDatabaseName
フィールドを返します。 このフィールドは、 コマンド ログ アナライザにも含まれます。シャーディングされたトポロジーでは、失敗したクエリを再試行するためにサーバーを選択するときに、ドライバーは最初の試行に使用されたサーバーを除外します。 代わりに、適格な
mongos
インスタンスが複数ある場合、ドライバーはランダムに 1 つを選択します。 正常でない インスタンスは、自動的に選択対象から除外されます。ストリーミング SDAM は、 Amazon Web Services Lambdaおよび同様のFaaS(function-as-a-service)プラットフォームではデフォルトで無効になっています。
serverMonitoringMode
URI オプションを使用してモニタリングを有効にできます。
1.12.1の新機能
1.12 Go ドライバーのリリースには、次の改善点と修正が含まれています。
ドライバーはセッションを終了するときに接続の固定を解除します。 これにより、ユーザーがロード バランサーに接続しているときにトランザクションを実行するときに接続がリークされるのを防ぎます。
無効な型で空の
bson.RawValue
型をアンマーシャリングしたり、ReadConcern
インスタンスのnil
ポインターをマーシャリングしたりしても、ドライバーはランタイム エラーをスローしません。ログ コンポーネントとして
options.LogComponentAll
を正しく設定すると、すべてのコンポーネントに対するログが公開されます。
1.12の新機能
重要
非推奨に関する通知
mongo.NewClient()
メソッドとclient.Connect()
メソッドは非推奨です。mongo.Connect()
メソッドを使用すると、クライアントを作成し、1 回の呼び出しで接続できます。
1.12の新機能 Go ドライバーのリリースには、次のものが含まれます。
Queryable Encryption
このドライバー バージョンは、 Queryable Encryption (QE)のサポートを追加します。 QE 機能を使用するための要件の詳細については、「 Queryable Encryption ドライバーの互換性テーブル 」を参照してください。
ClientEncryption.CreateEncryptedCollection()
メソッドは、新しい暗号化コレクションを作成すると、データ暗号化キーを自動的に作成します。 QE 機能の使用方法については、サーバー マニュアルの「クイック スタート」を参照してください。
ログ記録インターフェース
LogSink
ロギング インターフェースを使用して、接続マネジメントとコマンド実行イベントを記録できるようになりました。
詳しくは、「ログの基礎 」ガイドを参照してください。
追加の BSON マーシャリング オプション
このドライバー バージョンは、ドライバーが BSON をマーシャリングおよびアンマーシャリングする方法を指定する機能をoptions
パッケージに追加します。
次の例は、 Client
で BSON オプションを設定する方法を示しています。 オプションは、次の動作を指定します。
bson
構造体タグが存在しない場合、ドライバーはjson
構造体タグにフォールバックします。ドライバーは
nil
Go マップ型を空の BSON ドキュメントとしてマーシャリングします。ドライバーは
nil
Go スライス タイプを空の BSON 配列としてマーシャリングします。
bsonOpts := &options.BSONOptions{ UseJSONStructTags: true, NilMapAsEmpty: true, NilSliceAsEmpty: true, } options.Client().SetBSONOptions(bsonOpts)
BSONOptions
型を指定して実装する方法の完全な例については、 API ドキュメントを参照してください。
簡略化された書込み保証 (write concern) の仕様
このドライバー バージョンにより、 WriteConcern
API が簡素化されます。 変更の詳細については、「 書込み保証 ( write concern) 」を参照してください。
追加の変更
EKS のAmazon Web Services IAM ロールによる認証をサポートします。
カーソルの反復処理時に取得されるバッチのサイズを指定できるようにするための
Cursor.SetBatchSize()
メソッドの追加。MarshalValue()
メソッドでマーシャリングされた BSON 値のマーシャリングを可能にするためのUnmarshalValue()
メソッドの追加。
1.11の新機能
重要
バージョン1.11.9以降にアップグレード
バージョン1.11.0 ドライバーの1.11.2は、 CommandError
やWriteException
などのデータベース エラー タイプのRaw
フィールドを読み取るときに未定義の動作を引き起こす可能性があるバグのため、リダイレクトされました。
ドライバーのバージョン1.11.8は、 1.12.1向けの変更が誤って含まれているため、取り消されています。
削減されたバージョンのドライバーを使用している場合は、バージョン1.11.9以降にアップグレードします。
1.11の新機能 Go ドライバーのリリースには、次のものが含まれます。
MongoDB バージョン3.5以前のサポートを廃止します。
Go バージョン1.12以前のサポートを廃止します。
次の内容を含む、
Timeout
API と動作を改善しました。アプリケーションの回復力を高めるために再試行ロジックを変更しました。
より多くのタイムアウト エラーをキャッチするための拡張
mongo.IsTimeout
エラー ヘルパーSetReadDeadline
とSetWriteDeadline
を使用する代わりにコンテキストを受け取る新しい GridFS メソッド。
操作実行中にメモリ割り当てを削減しました。
関連付けられたMongoDB接続stringにユーザー名とパスワードが含まれている場合に SRV レコードの変更を妨げる SRV ポーリングのバグを修正します。
キー管理サービスを使用する場合、 サービスGCP アカウントをサポートします。GCP
関数と 関数を使用する場合のサーバー側リソース
Cursor.All
Session.WithTransaction
クリーンアップが改善されました。SERVICE_HOST
Kerberos接続 オプションで有効になっているauthMechanismProperties
string認証パラメータの仕様。BSON ドキュメントに UTC タイムスタンプ フィールドが含まれている場合のタイムスタンプ用に、
bson.Raw.String()
メソッドからの出力を拡張 JSON タイプに修正しました。読み取り保証 (read concern
"available"
または"linearizable"
を使用して読み取りを再試行する際の競合を解決しました。
1.10の新機能
重要
バージョン1.10.1以降にアップグレード
1.10の新機能 Go ドライバーのリリースには、次のものが含まれます。
MongoDB 6.0との完全互換性。
自動暗号化および手動暗号化の新しいオプションを含む、 Queryable Encryptionに関連する新機能のサポート
mongocryptd
プロセスを置き換える新しい自動暗号化共有ライブラリのサポート。 共有ライブラリには MongoDB v 6.0が必要です Enterprise 以降とlibmongocrypt
1.5.0以降。クラスター化されたインデックス作成のサポート。
暗号化キー管理用の新しい API と
ClientEncryption
エンティティ操作。クライアントを介して送信される各操作にデフォルトのコンテキスト タイムアウトを設定する
Timeout
クライアント オプション。空の型をデコードするときに、データをデフォルトで
primitive.M
またはprimitive.D
に設定するパッチ。自体のテキスト表現にアンマーシャリング可能なデータの非定型のマップキー タイプのエンコードをサポートします。
次のようなパフォーマンスの最適化。
変更ストリーム イベント における更新の前後で、完全なドキュメント リクエストが改善されました。
CRNとUUIDの生成を改善しました。
ワイヤ メッセージを圧縮する際のメモリ消費を削減しました。
1.9の新機能
1.9の新機能 Go ドライバーのリリースには、次のものが含まれます。
接続ストームの軽減を改善しました。
Custom
変更ストリーム操作と集計操作のオプション。Let
集計式で使用するパラメータを指定するほとんどの CRUD コマンドの オプション。Let
は、ドキュメント フィールドを参照せずにパラメータ名を定数式または閉じた式の値にマッピングするドキュメントである必要があります。 MongoDB v5.0 以降が必要です。Cursor
SingleResult
マーシャリング可能で nil 以外の BSON ドキュメントから インスタンスと インスタンスを作成する新しいコンストラクター関数。
1.8の新機能
1.8 Go ドライバー リリースの新機能は次のとおりです。
MongoDB 5.1との完全互換性。
CSFLE用の KMS プロバイダーとしてKMIPをサポートします。
低操作
Context
タイムアウトと接続チャーンを削減するためにドライバー接続プールを再設計しました。 動作の変化には、次のものが含まれます。新しい接続の作成は
connectTimeoutMS
にタイムアウトします。最大で 2 つの新しい接続を同時に確立できます。
Go ドライバーのドキュメント、コード、テスト、仕様テストから、強制的で不必要に性のある言語を排除します。
1.7の新機能
重要
バージョン1.7.2以降にアップグレード
1.7.2 Go ドライバーには、 minPoolSize > 0
の場合に接続の作成とチェックアウトの間に発生する可能性のあるデータ競合に関するバグ修正が含まれています。
1.7の新機能 Go ドライバーのリリースには、次のものが含まれます。
MongoDB 5.0 との完全互換性。
特定の読み取り操作のマルチドキュメントトランザクション外での
"snapshot"
読み取り保証をサポートします。WriteError.Details
フィールドによって報告されるスキーマ検証のWriteException
とBulkWriteException
エラー メッセージを改善しました。
1.6の新機能
重要
バージョン1.6.2以降にアップグレード
1.6.2 Go ドライバーには、 minPoolSize > 0
の場合に接続の作成とチェックアウトの間に発生する可能性のあるデータ競合に関するバグ修正が含まれています。
1.6の新機能 Go ドライバーのリリースには、次のものが含まれます。
MongoDB Stable API のサポート。 詳しくは、「 Stable API ガイド 」を参照してください。
ロード バランサーの背後で実行される MongoDB サービスへの接続をサポートします。
時系列コレクションの作成をサポートするようになりました。 詳細については、「時系列コレクション ガイド 」を参照してください。
Let
集計式のオプション。
1.5の新機能
1.5の新機能 Go ドライバーのリリースには、次のものが含まれます。
クライアント側のフィールドレベル暗号化による Azure およびGCPキー管理サービスのサポート
重複キー エラー、タイムアウト、ネットワーク エラーを検出するための新しいエラー API
MongoDB 配置の変更を監視するためのサーバー モニタリング。
ヒント オプション、ソート オプション、またはインデックス作成に使用される複数のキーを含むマップでの予期しない動作を防ぐためのエラー。
1.4の新機能
1.4の新機能 Go ドライバーのリリースには、次のものが含まれます。
MongoDB 4.4との完全互換性。
ステープリングされた OCSP 検証と非ステープリングされた OCSP 検証をサポートします。
OCSP レスポンダーがドライバーからアクセスできず、ステープリングされた応答がない場合に、HTTP リクエストの送信を無効にする新しい
tlsDisableOCSPEndpointCheck=true
URI オプション。BSON アン マーシャリング中に発生したエラーに関する追加のコンテキスト。
のさまざまなドライバー エラー タイプに適した
Unwrap
関数。
1.3の新機能
1.3の新機能 Go ドライバーのリリースには、次のものが含まれます。
mgocompat
パッケージを使用すると、globalsign/mgo/bson
と互換性のある BSON レジストリをエクスポートできます。このレジストリはClientOptions.SetRegistry
メソッドを呼び出すことで使用できます。RegisterTypeEncoder
およびRegisterHookEncoder
メソッド。これらは非推奨のRegisterEncoder
メソッドを置き換えます。 対応する変更が行われ、RegisterDecoder
が置き換えられました。
1.2 の新機能
1.2の新機能 Go ドライバーのリリースには、次のものが含まれます。
CSFLE のサポート。
bson.MarshalValue
Go 型を BSON にマーシャリングする関数。StringCodec
、非 string フィールドを 構造体内の string フィールドにデコードできます。IntCodec
、UIntCodec
、BoolCodec
、FloatCodec
がmgocompat
に追加され、コーデックが数値とブール値の間で変換できるようになります。
1.1 の新機能
1.1の新機能 Go ドライバーのリリースには、次のものが含まれます。
MongoDB 4.2との完全互換性。
維持性とパフォーマンスを向上させるために下位レベルのドライバーの実装を再設計しました。
さまざまな接続と接続プール イベントを監視するための 接続監視と Pooling 仕様で、効率を向上させます。
1.0の新機能
このリリースでは新機能は追加されません。