ドライバーのバージョンをアップグレードする
項目一覧
Overview
このページでは、ドライバーを新しいバージョンにアップグレードする方法を説明します。 このページには、該当する場合、機能を失うことなくドライバーをアップグレードするためにアプリケーションに加える必要がある変更も含まれます。
アップグレード方法
アップグレードする前に、次のアクションを実行してください。
新しいドライバー バージョンが、アプリケーションが接続する MongoDB Server のバージョン、およびアプリケーションを実行する Node.js のバージョンと互換性があることを確認します。 この情報については、 の互換性ページを参照してください。
アプリケーションが現在使用しているドライバーのバージョンとアップグレードが予定されているバージョンとの間の重大な変更については、このガイドの重大な変更セクションを参照してください。 MongoDB Server リリースの互換性の変更の詳細については、「サーバー リリースの互換性の変更 」セクションを参照してください。
ドライバーのバージョンをアップグレードするには、アプリケーションの ディレクトリで次のコマンドを実行します。
npm install mongodb@6.13
ドライバーの別のバージョンにアップグレードするには、 @
記号の後の情報をご希望のバージョン番号に置き換えます。コマンドの詳細については、npm install
npm-インストール npmドキュメント を参照してください。
重大な変更
重大な変更とは、アプリケーションが期待どおりに動作するのを妨げる可能性のあるドライバーの特定のバージョンの規則または動作の変更です。
このセクションの重大な変更は、それを導入したメジャー バージョン リリースによって分類されます。 ドライバーのバージョンをアップグレードするときは、現在のバージョンと計画されているアップグレード バージョン間のすべての重大な変更に対処してください。 たとえば、ドライバーを v 3 .x から v 5 .x にアップグレードする場合は、v 4.0にリストされているすべての重大な変更に対処します。 および v 5.0 。
バージョン6.0 重大な変更
Node.js ドライバーのバージョン 6.0 には、Node.js v16.20.1 以降が必要です。
ドライバーは
addUser()
ヘルパー コマンドのサポートを削除します。 代わりにcreateUser MongoDB Shell コマンドを使用してください。ドライバーは
collStats
操作のサポートを削除します。 代わりに、 $collStats集計演算子を使用してください。このドライバーにより、非推奨のすべての
ssl
プレフィックスがついたオプションとMongoClientOptions
型のtlsCertificateFile
オプションが削除されます。 代わりに、SecureContext
オブジェクトを作成するか、MongoClientOptions
インスタンスでtls
プレフィックス付きオプションを設定します。ドライバーは、
MongoClient
インスタンスを作成したときではなく、MongoClient.connect()
メソッドを呼び出すと、tlsCAFile
とtlsCertificateKeyFile
の接続オプションで設定されたファイルを読み取ります。ドライバーにより、
keepAlive
とkeepAliveInitialDelay
接続オプションが削除されます。keepAlive
の値は永続的にtrue
に設定され、keepAliveInitialDelay
の値は 300000 ミリ秒(300 秒)に設定されます。Db.command()
メソッドは、特定のコマンドに関連性のないオプションのみを受け入れます。 これらのオプションの詳細については、「 コマンドの実行 」ガイドの「コマンド オプション 」セクションを参照してください。mongodb-client-encryption
を依存関係として追加する場合、メジャー バージョン番号は Node.js ドライバーのメジャー バージョン番号と一致する必要があります。 たとえば、Node.js ドライバー v6.x にはmongodb-client-encryption
v6.x が必要です。自動暗号化メソッドが Node.js ドライバーに含まれるようになりました。 You must import these methods from the driver instead of from
mongodb-client-encryption
.12 文字の string を受け入れた
ObjectId
コンストラクタを削除しました。未加工のコマンド結果ではなく を返すように、 メソッドと
abortTransaction()
メソッドを変更しました。commitTransaction()
null
true
またはfalse
以外の値をブール値として受け入れる接続オプション ヘルパーを削除しました。 接続stringまたは MongoClient コンストラクターにtrue
またはfalse
のいずれかの値を指定する必要があります。string を受け入れた
Binary
BSON 型コンストラクタを削除しました。Binary.write()
メソッドでは、バイナリ BSON オブジェクトに書き込む string を受け入れなくなりました。ClientEncryption API は、コールバックではなく Promise を返します。
SOCKS5 プロキシのサポートを有効にする
socks
パッケージは、ピアオプションの依存関係です。 アプリケーションで SOCKS5 を有効にするには、 パッケージをインストールする必要があります。 詳細については、 「 SOCKS5 プロキシ サポートの有効化 」を参照してください。クライアントでセッションを開始し、そのセッションを別のクライアントに渡すと、セッション内で操作を実行するときにドライバーはエラーをスローします。
複合操作メソッドの
includeResultMetadata
オプションはデフォルトでfalse
です。 詳細については、 複合操作 ガイドの「組み込みメソッド」セクションを参照してください。withSession()
メソッドは、指定された関数によって返された値を返します。 以前のドライバー バージョンでは、このメソッドはundefined
を返します。withTransaction()
メソッドは、コールバックで返された値を返します。 以前のドライバー バージョンでは、このメソッドはサーバーコマンドの応答を返します。この応答は、ドライバーが接続する MongoDB Server のバージョンやタイプによって異なります。 トランザクションの詳細については、 「 トランザクションの実行 」の使用例と「トランザクション 」ガイドを参照してください。オプションの
kerberos
依存関係の最小バージョンを 2.0.1 に引き上げ、バージョン 1.x のサポートを廃止しました。任意の
zstd
依存関係の最小バージョンを 1.1.0 に引き上げました。
バージョン 5.0 の重大な変更
ドライバーは Node.js v 12またはそれ以前のバージョンと互換性がありません。 このバージョンのドライバーを使用する場合は、Node.js v 14.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.0 の重大な変更
ドライバーは Node.js v 12.8またはそれ以前のバージョンと互換性がありません。 このバージョンのドライバーを使用する場合は、Node.js v 12.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 マニュアルのリリースノートを参照してください。