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に変更します。