Join us Sept 17 at .local NYC! Use code WEB50 to save 50% on tickets. Learn more >
MongoDB Event
Docs Menu
Docs Home
/ / /
Go Driver

新機能

Tip

リリースノート

バージョン間の変更とアップデートの詳細については、 ドライバーソースコードで公開された リリースノートをお読みください。

次の新機能をご覧ください。

重要

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()メソッドを含めるため、名前の代わりにキー仕様を使用してインデックスを削除できます。

このバージョンの変更の詳細については、 Githubの v1.17 リリースノート を参照してください。

1.16 Go ドライバーのリリースには、次の改善点と修正が含まれています。

  • Atlas Search インデックスの作成時、インデックス タイプを指定するためのサポートを追加しました。

  • zstd圧縮アルゴリズムが有効になっている場合、メモリ使用量を削減します。

  • 一部の依存関係要件をアップグレードします。アップグレードのリストについては、v1.16 リリースノートの「アップグレードの依存関係」セクションを参照してください。

これらの変更の詳細については、 Githubの v1.16 リリースノート を参照してください。

1.15.1 Go ドライバーのパッチ リリースには、次の改善と修正が含まれています。

  • レプリカセット クラスターから切断するとrttMonitor接続が残る可能性のある接続リークを修正します。

  • クライアント全体のタイムアウトと操作タイムアウトが設定されている場合に、読み取りおよび集計操作にmaxTimeMS値を手動で指定するためのサポートを追加します。

  • 変更ストリームで呼び出しできるRemainingBatchLength()メソッドを追加します。

これらの変更の詳細については、 Githubの v1.15.1 リリースノートを参照してください。

1.15 Go ドライバーのリリースには、次の改善点と修正が含まれています。

  • 接続チャーンは、timeoutMS 接続オプションを指定するか、SetTimeout() 関数を呼び出して、クライアント全体のタイムアウトを設定することで軽減できます。タイムアウトが設定されている場合、ドライバーは操作がタイムアウトした後に接続の再利用を試み、最大 1 秒間待機して接続が再利用できるかどうかを確認してから、接続を閉じます。

  • 接続プール イベントには、チェックアウト期間と接続を確立するための合計時間数を測定するためのDurationフィールドが含まれています。

1.14 Go ドライバーのリリースには、次の改善点と修正が含まれています。

  • 1.18より前の Go バージョンはサポートされなくなりました。

  • ハートビート タイムアウトが発生した場合、進行中の操作は先行してキャンセルされます。

  • "mongodb+srv://"プレフィックスを含む接続文字列では、SRV ホスト名に大文字を含めることができます。

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 Go ドライバーのリリースには、次の改善点と修正が含まれています。

  • ドライバーはセッションを終了するときに接続の固定を解除します。 これにより、ユーザーがロード バランサーに接続しているときにトランザクションを実行するときに接続がリークされるのを防ぎます。

  • 無効な型で空のbson.RawValue型をアンマーシャリングしたり、 ReadConcernインスタンスのnilポインターをマーシャリングしたりしても、ドライバーはランタイム エラーをスローしません。

  • ログ コンポーネントとしてoptions.LogComponentAllを正しく設定すると、すべてのコンポーネントに対するログが公開されます。

重要

非推奨に関する通知

  • mongo.NewClient()メソッドとclient.Connect()メソッドは非推奨です。 mongo.Connect()メソッドを使用すると、クライアントを作成し、1 回の呼び出しで接続できます。

1.12の新機能 Go ドライバーのリリースには、次のものが含まれます。

このドライバー バージョンは、 Queryable Encryption (QE)のサポートを追加します。 QE 機能を使用するための要件の詳細については、「 Queryable Encryption ドライバーの互換性テーブル 」を参照してください。

ClientEncryption.CreateEncryptedCollection() メソッドは、新しい 暗号化されたコレクションを作成するときに、データ暗号化キーを自動的に作成します。QE 機能の使用方法については、サーバー マニュアルのQueryable Encryptionクイック スタートを参照してください。

LogSinkロギング インターフェースを使用して、接続マネジメントとコマンド実行イベントを記録できるようになりました。

詳しくは、「ログの基礎 」ガイドを参照してください。

このドライバー バージョンは、ドライバーが 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ドキュメントを参照してください。

このドライバー バージョンにより、 WriteConcern API が簡素化されます。 変更の詳細については、「 書込み保証 ( write concern) 」を参照してください。

  • EKS のAmazon Web Services IAM ロールによる認証をサポートします。

  • カーソルの反復処理時に取得されるバッチのサイズを指定できるようにするためのCursor.SetBatchSize()メソッドの追加。

  • MarshalValue()メソッドでマーシャリングされた BSON 値のマーシャリングを可能にするためのUnmarshalValue()メソッドの追加。

戻る

クイック リファレンス

項目一覧