Overview
このページでは、 Goドライバーの新しいバージョンにアップグレードするときにアプリケーションに加える必要がある変更について説明します。
アップグレードする前に、次のアクションを実行してください。
新しいGoドライバー バージョンが、アプリケーションが接続するMongoDB Server のバージョン およびアプリケーションを実行するGoバージョンと互換性があることを確認します。詳細については、互換性 ページを参照してください。
アプリケーションで使用されるドライバー バージョンと計画されているアップグレード バージョン間の重大な変更については、 重大な変更 セクションを参照してください。
Tip
将来ドライバーのバージョンをアップグレードする際にアプリケーションに必要な変更数を最小限に抑えるには、 Stable API を使用します。
重大な変更
重大な変更とは、ドライバーの特定のバージョン以降の規則または動作の変更です。 このタイプの変更では、ドライバーをアップグレードする前に対処しないと、アプリケーションが正常に動作しなくなる可能性があります。
このセクションの重大な変更は、それを導入したドライバーのバージョンによって分類されます。 ドライバーのバージョンをアップグレードするときは、現在のバージョンとアップグレードのバージョン間のすべての重大な変更に対処してください。
バージョン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
に変更します。