ドライバーのバージョンをアップグレードする
項目一覧
Overview
このページでは、ドライバーを新しいバージョンにアップグレードする方法を説明します。 このページには、該当する場合、機能を失うことなくドライバーをアップグレードするためにアプリケーションに加える必要がある変更も含まれます。
アップグレード方法
アップグレードする前に、次のアクションを実行してください。
新しいドライバー バージョンが、アプリケーションが接続する MongoDB Server のバージョン、およびアプリケーションを実行する Node.js のバージョンと互換性があることを確認します。 この情報については、 の互換性ページを参照してください。
このガイドの「重大な変更 」セクションで、アプリケーションが現在使用しているドライバーのバージョンとアップグレードが予定されているバージョンとの間の重大な変更に対処します。 MongoDB Server リリースの互換性の変更の詳細については、「サーバー リリースの互換性の変更 」セクションを参照してください。
ドライバーのバージョンをアップグレードするには、アプリケーションの ディレクトリで次のコマンドを実行します。
npm install mongodb@5.6
ドライバーの別のバージョンにアップグレードするには、 @
記号の後の情報をご希望のバージョン番号に置き換えます。 コマンドの詳細については、npm install
npm-インストールnpm のドキュメント。
重大な変更
重大な変更とは、アプリケーションが期待どおりに動作するのを妨げる可能性のあるドライバーの特定のバージョンの規則または動作の変更です。
このセクションの重大な変更は、それを導入したメジャー バージョン リリースによって分類されます。 ドライバーのバージョンをアップグレードするときは、現在のバージョンと計画されているアップグレード バージョン間のすべての重大な変更に対処してください。 たとえば、ドライバーを v3.x から v5.x にアップグレードする場合は、v4.x と v5.x にリストされているすべての重大な変更に対処します。
バージョン 5.x での重大な変更
ドライバー バージョン 5.x は Node.js v12 またはそれ以前のバージョンと互換性がありません。 このバージョンのドライバーを使用する場合は、Node.js v14.20.1 以降を使用する必要があります。
ドライバーは、Promise ベースの API を優先するため、コールバックのサポートを削除します。 次のリストは、コールバック ユーザーがこのバージョンを採用するためのいくつかの戦略を示しています。
Promise ベースの API に移行する(推奨)
Promise ベースの API と
util.callbackify
コールバックを引き続き使用するには、
mongodb-legacy
を追加します
これらの戦略の詳細については 、 v5.0 の変更ログを参照してください。
ドライバーは
Collection.insert()
、Collection.update()
、Collection.remove()
ヘルパー メソッドのサポートを削除します。 次のリストでは、削除されたメソッドの機能を置き換える方法を示しています。Collection.insert()
からinsertOne()
またはinsertMany()
に移行しますCollection.update()
からupdateOne()
またはupdateMany()
に移行しますCollection.remove()
からdeleteOne()
またはdeleteMany()
に移行します
ドライバーにはデフォルトでAmazon Web Services SDK モジュールが含まれなくなりました。
ドライバーが
bson-ext
パッケージを自動的にインポートしなくなりました。ドライバーにより、カスタム
Promise
ライブラリのサポートが削除されます。 ドライバーは、MongoClient
のpromiseLibrary
オプションと、カスタムPromise
ライブラリを指定できるPromise.set
のエクスポート をサポートしなくなりました。ドライバーは
Collection.mapReduce()
ヘルパーのサポートを削除します。BulkWriteResult
型には、公開で列挙可能なresult
プロパティがなくなりました。次のタイプ、オプション、メソッドが削除されました。
BulkResult.lastOp()
メソッドopTime
のプロパティBulkResult
BulkWriteOptions.keepGoing
オプションWriteConcernError.err()
メソッドAddUserOptions.digestPassword
オプションKerberos
gssapiCanonicalizeHostName
optionslaveOk
オプションとメソッドが削除され、secondaryOk
ObjectID
型が削除されましたObjectId
AsyncIterator
インターフェースが削除されましたAsyncGenerator
バージョン 4.x の重大な変更
ドライバー バージョン 4.x は Node.js v12.8 またはそれ以前のバージョンと互換性がありません。 このバージョンのドライバーを使用する場合は、 Node.js v12.9 以降を使用する必要があります。
Cursor
型はReadable
を直接拡張しなくなりました。ChangeStream
インスタンスをEventEmitter
として使用した後、イテレータとして使用することはできません。 また、EventEmitter
インスタンスをChangeStream
として使用した後に、それをイテレータとして使用するという逆の操作もできません。次のメソッドはコールバック パラメーターを受け入れなくなりました。
Collection.find()
Collection.aggregate()
Db.aggregate()
maxPoolSize
接続オプションのデフォルト値が100
になりました。ドライバーは
gssapiServiceName
Kerberos オプションをサポートしなくなりました。 代わりにauthMechanismProperties.SERVICE_NAME
を使用する必要があります。ドライバーではブール値オプションとして、
0
や1
などの非ブール値型は受け入れなくなりました。db.collection
型はコールバックを受け入れなくなりました。Db
型はEventEmitter
ではなくなりました。 You can listen to any events directly from theMongoClient
instance.ドライバーは
Collection.group()
ヘルパーのサポートを削除します。ドライバーには非推奨の
GridStore
API が含まれなくなりました。
これらの変更の詳細については 、 v4.0 の変更ログを参照してください。
サーバー リリースの互換性の変更
サーバー リリースの互換性の変更とは、MongoDB Server の一連のバージョンのサポートを廃止するドライバーに対する変更です。
ドライバーは、サポート終了(EOL)に達すると、MongoDB Server バージョンのサポートを終了します。
EOL 製品の MongoDB サポートの詳細については、レガシー サポート ポリシー を参照してください。
バージョン 4.2 サーバー リリース サポートの変更
v 4.2ドライバーは MongoDB Server v 3.4以前のサポートを削除します。 v 4.2を使用するには ドライバーに設定されている場合、MongoDB Server は v 3.6である必要があります。 以降に更新します。 MongoDB Server 配置をアップグレードする方法については、MongoDB Server マニュアルのリリースノートを参照してください。