Overview
このページでは、 Goドライバーの新しいバージョンにアップグレードするときにアプリケーションに加える必要がある変更について説明します。
アップグレードする前に、次のアクションを実行してください。
新しいGoドライバーバージョンが、アプリケーションが接続するMongoDB Serverのバージョンおよびアプリケーションを実行するGoバージョンと互換性があることを確認します。詳細については、互換性ページを参照してください。
アプリケーションが使用するドライバーのバージョンと計画されているアップグレードのバージョンとの間の重大な変更については、重大な変更セクションを参照してください。
Tip
将来ドライバーのバージョンをアップグレードする際にアプリケーションに必要な変更数を最小限に抑えるには、 Stable API を使用します。
重大な変更
重大な変更とは、ドライバーの特定のバージョン以降の規則または動作の変更です。 このタイプの変更では、ドライバーをアップグレードする前に対処しないと、アプリケーションが正常に動作しなくなる可能性があります。
このセクションの重大な変更は、それを導入したドライバーのバージョンによって分類されます。 ドライバーのバージョンをアップグレードするときは、現在のバージョンとアップグレードのバージョン間のすべての重大な変更に対処してください。
バージョン2.9 重大な変更
1.25より前のGoバージョンのサポートを削除します。サポートされる最小のGoバージョンは1.25になり、Goドライバーは最新の2つのGoマイナーバージョンをサポートします。Goバージョンとの互換性の詳細については、互換性ページをご覧ください。
MongoDB Server v4.2のサポートを削除します。サポートされているMongoDB Serverの最小バージョンは4.4になりました。MongoDB Serverバージョンとの互換性の詳細を学ぶには、互換性ページをご覧ください。
golang.org/x/textモジュールをv0.39.0にアップグレードして、CVE-2026-56852を解決します。このアップグレードにより、必要な最小Goバージョンが1.25に引き上げられます。MongoDBセキュリティ更新の最新情報については、MongoDBセキュリティ更新を参照してください。
バージョン2.4 重大な変更
- MongoDB Server v4.0 のサポートを削除します。サポートされるMongoDB Server の最小バージョンは v4.2 になりました。MongoDB Server のバージョンとの互換性の詳細については、互換性ページを参照してください。
バージョン2.2 重大な変更
- MongoDB Server v3.6 のサポートを削除します。サポートされるMongoDB Server の最小バージョンは v4.0 になりました。これにより、
MONGODB-CR認証メカニズムのサポートも削除されます。MongoDB Server のバージョンとの互換性の詳細については、互換性ページを参照してください。
バージョン2.0 重大な変更
mongo.Connect()は、Context パラメータを受け入れません。このメソッドは オプションオブジェクトのみを受け入れます。このメソッドを使用する例については、接続ガイドの「接続サンプル コード」を参照してください。Cursor.SetMaxTime()メソッドの名前がCursor.SetMaxAwaitTime()に変更されます。 このメソッドは、追尾可能 (tailable) カーソルを使用して、 Cappedコレクションから取得された新しいドキュメントをサーバーが待機する最大時間を指定します。操作固有のタイムアウト オプションを排除します。 次のフィールドと setter メソッドはドライバーから削除されました。
AggregateOptions.MaxTime,AggregateOptions.SetMaxTime()ClientOptions.SocketTimeout,ClientOptions.SetSocketTimeout()CountOptions.MaxTime,CountOptions.SetMaxTime()DistinctOptions.MaxTime,DistinctOptions.SetMaxTime()EstimatedDocumentCountOptions.MaxTime,EstimatedDocumentCountOptions.SetMaxTime()FindOptions.MaxTime,FindOptions.SetMaxTime()FindOneOptions.MaxTime,FindOneOptions.SetMaxTime()FindOneAndReplaceOptions.MaxTime,FindOneAndReplaceOptions.SetMaxTime()FindOneAndUpdateOptions.MaxTime,FindOneAndUpdateOptions.SetMaxTime()GridFSFindOptions.MaxTime,GridFSFindOptions.SetMaxTime()CreateIndexesOptions.MaxTime,CreateIndexesOptions.SetMaxTime()DropIndexesOptions.MaxTime,DropIndexesOptions.SetMaxTime()ListIndexesOptions.MaxTime,ListIndexesOptions.SetMaxTime()SessionOptions.DefaultMaxCommitTime,SessionOptions.SetDefaultMaxCommitTime()TransactionOptions.MaxCommitTime,TransactionOptions.SetMaxCommitTime()WriteConcern.WTimeout
代わりに、クライアントまたはコンテキスト内でタイムアウトを設定できます。詳細については、 「サーバー実行時間の制限」ガイドをご覧ください。
bson/primitiveパッケージの削除。このパッケージはbsonパッケージと統合されました。コードを更新するには、bson/primitiveインポート ステートメントをすべて削除し、primitive.ObjectIDのインスタンスをbson.ObjectIdに変更します。
アプリケーションをv1 から v2 にアップグレードする方法については、「 Go Driver 2.0 移行ガイド 」を参照してください。