Docs Menu
Docs Home
/ / /
Node.js ドライバー

ドライバーのバージョンをアップグレードする

項目一覧

  • Overview
  • アップグレード方法
  • 重大な変更
  • バージョン6.0 重大な変更
  • バージョン 5.0 の重大な変更
  • バージョン 4.0 の重大な変更
  • サーバー リリースの互換性の変更
  • バージョン 4.2 サーバー リリース サポートの変更

このページでは、ドライバーを新しいバージョンにアップグレードする方法を説明します。 このページには、該当する場合、機能を失うことなくドライバーをアップグレードするためにアプリケーションに加える必要がある変更も含まれます。

アップグレードする前に、次のアクションを実行してください。

  • 新しいドライバー バージョンが、アプリケーションが接続する MongoDB Server のバージョン、およびアプリケーションを実行する Node.js のバージョンと互換性があることを確認します。 この情報については、 互換性ページを参照してください。

  • アプリケーションが現在使用しているドライバーのバージョンとアップグレードが予定されているバージョンとの間の重大な変更については、このガイドの重大な変更セクションを参照してください。 MongoDB Server リリースの互換性の変更の詳細については、「サーバー リリースの互換性の変更 」セクションを参照してください。

Tip

ドライバーのバージョンをアップグレードするには、アプリケーションの ディレクトリで次のコマンドを実行します。

npm install mongodb@6.13

ドライバーの別のバージョンにアップグレードするには、 @ 記号の後の情報をご希望のバージョン番号に置き換えます。コマンドの詳細については、npm install npm-インストール npmドキュメント を参照してください。

重大な変更とは、アプリケーションが期待どおりに動作するのを妨げる可能性のあるドライバーの特定のバージョンの規則または動作の変更です。

このセクションの重大な変更は、それを導入したメジャー バージョン リリースによって分類されます。 ドライバーのバージョンをアップグレードするときは、現在のバージョンと計画されているアップグレード バージョン間のすべての重大な変更に対処してください。 たとえば、ドライバーを v 3 .x から v 5 .x にアップグレードする場合は、v 4.0にリストされているすべての重大な変更に対処します。 および v 5.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()メソッドを呼び出すと、 tlsCAFiletlsCertificateKeyFileの接続オプションで設定されたファイルを読み取ります。

  • ドライバーにより、 keepAlivekeepAliveInitialDelay接続オプションが削除されます。 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 に引き上げました。

  • ドライバーは 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ライブラリのサポートが削除されます。 ドライバーは、 MongoClientpromiseLibraryオプションと、カスタムPromiseライブラリを指定できるPromise.setのエクスポート をサポートしなくなりました。

  • ドライバーはCollection.mapReduce()ヘルパーのサポートを削除します。

  • BulkWriteResult型には、公開で列挙可能なresultプロパティがなくなりました。

  • 次のタイプ、オプション、メソッドが削除されました。

    • BulkResult.lastOp() メソッド

    • opTime のプロパティ BulkResult

    • BulkWriteOptions.keepGoing オプション

    • WriteConcernError.err() メソッド

    • AddUserOptions.digestPassword オプション

    • Kerberos gssapiCanonicalizeHostName option

    • slaveOk オプションとメソッドが削除され、 secondaryOk

    • ObjectID 型が削除されました ObjectId

    • AsyncIterator インターフェースが削除されました AsyncGenerator

  • ドライバーは 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を使用してください。

  • ドライバーではブール値オプションとして、 01などの非ブール値型は受け入れなくなりました。

  • db.collection型はコールバックを受け入れなくなりました。

  • Db型はEventEmitterではなくなりました。 You can listen to any events directly from the MongoClient instance.

  • ドライバーはCollection.group()ヘルパーのサポートを削除します。

  • ドライバーには非推奨のGridStore API が含まれなくなりました。

これらの変更の詳細については 、 v4.0 の変更ログを参照してください。

サーバー リリースの互換性の変更とは、MongoDB Server の一連のバージョンのサポートを廃止するドライバーに対する変更です。

ドライバーは、サポート終了(EOL)に達すると、MongoDB Server バージョンのサポートを終了します。

EOL 製品の MongoDB サポートの詳細については、レガシー サポート ポリシー を参照してください。

  • v 4.2ドライバーは MongoDB Server v 3.4以前のサポートを削除します。 v 4.2を使用するには ドライバーに設定されている場合、MongoDB Server は v 3.6である必要があります。 以降に更新します。 MongoDB Server 配置をアップグレードする方法については、MongoDB Server マニュアルのリリースノートを参照してください。

戻る

互換性