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

リリースノート

次の新機能をご覧ください。

  • バージョン6.14

  • バージョン6.13

  • バージョン6.12

  • バージョン6.11

  • バージョン6.10

  • バージョン6.9

  • バージョン6.8

  • バージョン6.7

  • バージョン6.6

  • バージョン6.5

  • バージョン6.4

  • バージョン 6.3

  • バージョン 6.2

  • バージョン 6.1

  • バージョン 6.0

Node.js ドライバー v 6.14リリースには、次の機能が含まれています。

  • 暗号化されたコレクションの $lookup集計ステージのサポートを追加します。この機能を使用するには、mongodb-client-encryptionパッケージをv6.3.0 以降にアップグレードする必要があります。

  • ドライバーの isUint8Array() メソッドの実装を使用して、util/typesパッケージ のインポートを防止します。

  • @aws-sdk/credential-providers のバージョンの互換性を v3.188.0 に元に戻します。

このリリースの詳細については、 Githubの v6.14.0 リリースノート を参照してください。

Node.js ドライバー v 6.13リリースには、次の機能が含まれています。

  • 新しい標準化されたロガーを追加して、コード変更なしでデータベース操作のインサイトを得ることが可能になります。 次の の例に示すように、環境変数を使用してロガーを有効にして構成できます。

    env MONGODB_LOG_ALL=debug node server.mjs

    ロギングの詳細については、ログガイドをご覧ください。

  • コマンドと応答オブジェクトの深いコピーを排除することで、コマンド モニタリングのパフォーマンスを向上させます。 コマンドとレスポンスの値を変更すると、未定義の動作が発生する可能性があります。

  • 実験的な中止シグナル機能を追加します。 次のメソッドに signal コマンドを渡すと、シグナルがトリガーされたときにメソッドの実行を中断できます。

    • collection.find()

    • collection.findOne()

    • collection.aggregate()

    • collection.countDocuments()

    • db.listCollections()

    • db.command()

    シグナルを中止すると接続が閉じられ、不要な接続再確立が発生する可能性があります。

  • DNS タイムアウト エラーの発生を回避するため、ドライバーは mongodb+srv:// 接続文字列を解決するときに DNS ルックアップをキャッチして再試行します。

  • MongoClient.close() は、関連付けられているカーソルも閉じます。

  • MongoClient.close() を同時に呼び出すことも安全ですが、可能な場合は推奨されません。

  • ハンドシェイクに推測的認証が含まれている場合に MONGODB-OIDC認証が正しく再認証されない問題を修正します。

このリリースの詳細については、 Githubの v6.13.0 リリースノート を参照してください。

Node.js ドライバー v 6.12リリースには、次の機能が含まれています。

  • zstd 圧縮アルゴリズムの v2.0 のサポートを追加します。zstd v2.0 の詳細については、Githubの zstd リリースノート を参照してください。

  • bsonパッケージを v6.10.1 にアップグレードします。このリリースの詳細については、Github で bsonパッケージのv6.10.1 リリースノートを参照してください。

  • ドライバーは、プライマリ レプリカセット ノードを古いとしてマークするときに、より具体的なエラーの種類とメッセージを ServerDescription.errorフィールドに入力します。

  • ドライバーは、 バッファモードではなくオブジェクトモードでストリームを使用してソケット データを読み取ります。 これにより、不正確なデータ チャンクによって発生するまれにメッセージ解析エラーが発生するのを防ぎます。

  • ドライバーが socks5 プロキシに接続しているときにエラーを発生した場合、socks5 エラーを MongoNetworkError でラップしなくなりました。 これにより、ドライバーが MongoNetworkError を別の MongoNetworkError でラップすることがなくなります。

このリリースの詳細については、 Githubの v6.12.0 リリースノート を参照してください。

Node.js ドライバー v 6.11リリースには、次の機能が含まれています。

  • Node.js v22 のサポートを追加しました。

  • クライアント側操作タイムアウト(COT)機能を追加します。 CSO を使用して、サーバーの選択、接続チェックアウト、直列化、サーバー側の実行など、 サーバー側の操作を完了するために必要なすべてのステップに単一のタイムアウトを適用できます。 詳細については、 「サーバー実行時間の制限」 のガイドを参照してください。

    注意

    試験用機能

    COT 機能は実験的なものであり、今後のドライバー リリースで変更される可能性があります。

  • Kubernetes環境の OIDC認証サポートを追加します。 この機能の詳細については、 エンタープライズ認証ガイドの「MONGODB-OIDC 」セクションを参照してください。

    OIDC を使用してKubernetes環境から認証するには、接続文字列で authMechanismProperties 接続オプションを ENVIRONMENT:k8s に設定します。 この機能は、Amazon の Elastic Kubernetes Service、Google Kubernetes Engine、またはAzure Kubernetes Service で実行中環境に接続するときに使用できます。

  • bsonパッケージはバイナリベクトルデータのサポートを追加します。この機能の詳細については、Github の bsonパッケージのv6.10.0 リリースノートを参照してください。

  • ドライバーは PoolClearedEvents の後に ConnectionClosedEvents を発行します。

このリリースの詳細については、 Githubの v6.11.0 リリースノート を参照してください。

Node.jsドライバー v 6.10 リリースは、すべてのMongoDB Server 8.0 機能をサポートする最初の公式リリースであり、次の改善と修正が含まれています。

  • MongoDB Server 3.6 のサポートを廃止します。

  • MongoDB Server 8.0 一括書き込みAPIのサポートを追加します。この API は、1 回の呼び出しで複数のデータベースとコレクションにわたる一括書き込み操作をサポートします。

  • . 文字で区切られた部分を持つ 3 つ未満の SRV ホスト名を許可します。例、ドライバーは mongodb+srv://mongodb.local などのホスト名をサポートするようになりました。

  • optime を記述するためのCRUDコマンドの正確なmaxTimeMS 値を取得するためのCRUD optimeexplain オプションをサポートします。検索操作と集計操作の explain オプションは非推奨です。

このリリースの詳細については、 Githubの v6.10.0 リリースノート を参照してください。

  • MongoDB Server 3.6のサポートは非推奨であり、今後のドライバー リリースで削除される予定です。

  • ドライバーは、カーソルとMongoClientClientSession 、およびChangeStreamオブジェクトの明示的なリソース管理をネイティブでサポートしています。 互換性のある Node.js バージョンを使用する場合、 cursor.stream()メソッドとGridFSDownloadStreamクラスを使用して明示的なリソース管理を実装できます。

    明示的なリソース管理を使用する方法については、Github の v6.9.0 リリースノート を参照してください。明示的なリソース管理の詳細については、Githubの ECMAScript 明示的なリソース管理の提案 を参照してください。

  • Node.js18.13 autoSelectFamily以降を使用している場合は、autoSelectFamilyTimeout オプションと オプションをMongoClient コンストラクターに渡すことができます。autoSelectFamilyオプションがtrueの場合、ドライバーは IPv 4または IPv 6接続のいずれかを自動的に選択します。 autoSelectFamilyTimeoutオプションは、ドライバーが接続ファミリーを選択するためのタイムアウトをミリ秒単位で指定します。

    次のコード例は、これらのオプションの使用方法を示しています。

    const client = new MongoClient(uri,
    { autoSelectFamily: true, autoSelectFamilyTimeout: 100 });
  • MongoClientコンストラクターはallowPartialTrustChainオプションを受け入れます。 このオプションはX509_V_FLAG_PARTIAL_CHAIN OpenSSL フラグを制御します。

  • ConnectionCheckedOutEventConnectionCheckFailedEventdurationMSプロパティが含まれるようになりました。 このプロパティは、接続チェックアウト操作の開始と終了までの経過時間を示します。

  • Node.js 18以降を使用している場合、ドライバーはcryptoCallbacksオプションを無視し、代わりに C++ で定義されたコールバックを使用するため、暗号化のパフォーマンスが大幅に向上します。 この変更は v 6.1.0で利用可能です。 mongodb-client-encryptionパッケージのバージョン

  • セキュリティを強化するには、mongocryptd のスピニング パスと引数を指定するオプションは、autoEncryption.extraOptions のプロパティである必要があります。この変更により、これらのオプションに関連するグローバルなプロトタイプ環境のバグを防ぐことができます。 独自のプロパティの詳細については、MDN の Object.hasOwn() を参照してください。

  • Queryable Encryption(QE)範囲クエリの公式サポートを追加します。 この機能を使用するには、アプリでmongodb-client-encryption v 6.1.0以降を使用し、MongoDB Server 8.0以降に接続する必要があります。 QEQueryable Encryption 範囲クエリの詳細については、MongoDB Server マニュアルの「 」を参照してください。

  • insertMany()メソッドとbulkWrite()メソッドはReadonlyArray入力を受け入れます。

  • ドライバーは、 error.result.writeConcernError.codeにあるネストされたコードではなく、 error.codeにある最上位コードに基づいて書き込みを再試行します。 これにより、 4.4より前のバージョンの MongoDB Server を実行しているシャーディングされたクラスターの問題が修正されます。

  • LocalKMSProviderConfiguration.keyプロパティは、BSONBinaryAutoEncryptionOptions インスタンスを受け入れます。

  • Typescriptでは、BulkOperationBase クラスが length getter プロパティを報告します。

  • MongoWriteConcernError型はMongoWriteConcernError.codeに元の最上位コードを保持するようになりました。

  • cursor.toArray()メソッドは、非同期イテレータを再度呼び出す前に、現在のドキュメントのバッチを 配列に空にします。 この変更により、 async / awaitの実行に関連する遅延が回避され、パフォーマンスが最大5 % 向上します。 この最適化は、 toArray()メソッドを呼び出す前にcursor.map()メソッドへの変換を指定した場合は適用されません。

  • cursor.next()メソッドとfor await構文の混合使用を修正しました。

  • Node.js ドライバー v 6.8で不注意で削除された BSON の逆直列化時にenableUtf8Validationオプションを追加します。

  • durationMSプロパティをConnectionReadyEventクラスに追加します。 このプロパティは、接続作成イベントからConnectionReadyEventが起動するまでの時間を表します。

このリリースの詳細については、 Githubの v6.9.0 リリースノート を参照してください。

Node.js ドライバー v 6.8リリースには、次の機能が含まれています。

  • ローカルKMSプロバイダーは実行時に BSON Binary インスタンスを受け入れましたが、 Typescriptコンパイラーは Bufferstring のタイプの値のみを許可するバグを修正しました。

  • ReadConcernMajorityNotAvailableYetエラーは再試行可能な読み取りエラーになりました。

  • KMS プロバイダーに名前を関連付け、複数のキーを提供できるようになりました。 この機能にはmongodb-client-encryption v 6.0.1以降が必要です。 アプリケーションが KMS プロバイダーの自動更新機能を使用している場合、名前付き KMS プロバイダーは使用できません。

    次のコード例は、複数のAmazon Web Servicesキーを使用して ClientEncryption オブジェクトを構成する方法を示しています。

    const clientEncryption = new ClientEncryption(keyVaultClient, {
    'aws:key1': {
    accessKeyId: ...,
    secretAccessKey: ...
    },
    'aws:key2': {
    accessKeyId: ...,
    secretAccessKey: ...
    },
    clientEncryption.createDataKey('aws:key-1', { ... });
  • KMIP データキーを作成する際に、 delegatedオプションを指定できるようになりました。 このオプションをtrueに設定すると、KMIP プロバイダーはデータキーの暗号化と復号化をローカルで実行し、暗号化のキーが KMIP サーバーから離れることはありません。 この機能にはmongodb-client-encryption v 6.0.1以降が必要です。

    次のコード例は、このオプションを指定する方法を示しています。

    clientEncryption.createDataKey('kmip', { masterKey: { delegated: true } } );
  • ドライバーは、受信時に BSON 応答全体をデコードするのではなく、カーソルが BSON 応答を反復処理するときに BSON 応答をデコードするようになりました。

  • mongodbパッケージのGithubリリースには、 npmパッケージの 個別の署名ファイル、mongodb-X.Y.Z.tgz.sigが含まれるようになりました。 この変更は、ドライバーのバージョン 5.x および 6.x のすべてのメジャーおよびパッチ リリースに適用されます。パッケージ署名を検証するには、ドライバーのGithubリポジトリ内の README.mdファイルの 「リリースの整合性」セクションの指示 に従います。

このリリースの詳細については、 Githubの v6.8.0 リリースノート を参照してください。

Node.js ドライバー v 6.7リリースには、次の機能が含まれています。

  • MongoDB Server v 7.0以降に接続する際にMONGODB-OIDC認証メカニズムのサポートを追加します。 このドライバーは、Azure マシン認証、GCP マシン認証、コールバック認証、人間によるコールバック認証ファセットによる認証をサポートしています。

  • useBigInt64フラグをtrueに設定すると内部compareTopologyVersion関数がエラーを生成する問題を修正します。

このリリースの詳細については、 Githubの v6.7.0 リリースノート を参照してください。

Node.js ドライバー v 6.6リリースには、次の機能が含まれています。

  • BSON 6.7.0 を使用するようにアップグレードします。BSON の新機能の詳細については、BSON 6.5.0 のリリースノートを参照してください。BSON 6.6.0BSON 6.7.0

  • フロー集計 API にaddStage()メソッドを追加します。 このメソッドを使用して、次の例に示すように、集計パイプライン ステージを個別に追加できます。

    const documents = await users.aggregate().addStage({ $project: { name: true } }).toArray();
  • causeフィールドとdependencyNameフィールドをMongoMissingDependencyErrorクラスに追加します。 これらのフィールドを使用して、パッケージが欠落しているかどうか、またはパッケージがロードされなかった理由をプログラム的に判断できます。

  • minRoundTripTimeプロパティをServerDescriptionクラスに追加します。 このプロパティには、最後の10ハートビートの最小ラウンドトリップ時間が含まれます。

  • toJSON()メソッドをTopologyDescriptionクラスに追加します。 このメソッドを使用してTopologyDescriptionオブジェクトを JSON に文字列化できますが、代わりに Node のutil.inspect()メソッドを使用することをお勧めします。これは、JavaScript とドライバーで使用されるすべての型を適切に処理するためです。

  • Typescript のCollection.indexExists()Collection.indexes()Collection.indexInformation()メソッドのカーソル オプション サポートを追加します。

  • Collection.listSearchIndexes()メソッドからreadConcernwriteConcernオプションのサポートを削除します。 listSearchIndexes() はAtlas固有のメソッドであり、 Atlas Searchインデックスはこれらのオプションをサポートしていません。

  • ServerDescription.roundTripTimeプロパティを移動平均として再定義します。 以前は、直近で確認されたハートビートの期間とその前の期間の重みによる平均でした。

  • 次の例に示すように、インデックスを作成する際に検索インデックスのタイプを指定できます。

    const indexName = await collection.createSearchIndex({
    name: 'my-vector-search-index',
    type: 'vectorSearch',
    definition: {
    mappings: { dynamic: false }
    }
    });
  • UpdateFilter.$currentDateプロパティは、スキーマが制限されたコレクションでfindOneAndUpdate()などの複合メソッドに渡しても、エラーをスローしなくなりました。

  • ドライバーは、 primary以外のReadPreferenceModeを指定し、読み取り操作を含むコマンドを実行しようとした場合にのみMongoTransactionErrorをスローします。

  • TopologyDescription.errorプロパティのデータ型はMongoErrorです。

  • Collection.indexExists()メソッドはfullオプションをサポートしなくなりました。

  • Collection.indexInformation()Collection.indexes()Db.indexInformation() メソッドの戻り値の型は IndexDescriptionCompact | IndexDescriptionInfo[] です( Typescript )。

  • Amazon Web Services KMS (Key Management System)認証情報を検索するときに、ドライバーは有効期限タイムスタンプを含むアクセス キーを受信してもエラーをスローしなくなりました。

  • ClusterTime インターフェースは、 Typescriptで必要とされる signature フィールドの定義を終了しました。

このリリースの詳細については、Github の v6.6.0 リリースのハイライト を参照してください。

Node.js ドライバー v 6.5リリースには、次の機能が含まれています。

  • ドキュメント ID 生成にpkFactoryクラスを使用するように一括書き込み操作を更新します。

警告

一括書き込みを処理するためにpkFactoryのインスタンスを指定したことがある場合、一括書き込みを使用して挿入されたドキュメントの_idフィールドは、このバージョンの動作と一致しない可能性があります。

  • ドライバーがレプリカセット内のセカンダリ ノードに接続されている場合に読み取り操作で送信される読み込み設定をprimaryPreferredに修正します。

  • ソケット操作の Promise 作成におけるメモリ リークを修正します。

  • DNS シードリストに接続するときに、SRV TXTレコードと レコードを並行してクエリすることで、初回接続レイテンシを軽減します。

  • Kubernetes のクライアントまたは ハンドシェイク ドキュメントのclient.env.containerフィールドでコンテナ環境を実行する際に、コンテナ メタデータに追跡を追加します。

  • サーバーによって返された元のエラードキュメントをMongoServerErrorドキュメントのerrorResponseフィールドに追加します。

  • ドライバーでは使用されていないCloseOptionsインターフェースを廃止します。

このリリースの詳細については、Github の v6.5.0 リリースのハイライト を参照してください。

Node.js ドライバー v 6.4リリースには、次の機能が含まれています。

  • 複数のmongosインスタンスが利用可能な場合、読み取りと書込みの再試行で異なるサーバーが使用されます。

  • 認証ごとではなく、クライアントレベルでAmazon Web Servicesの認証情報をキャッシュします。

  • BSON 6.4.0 を使用するようにアップグレードします。BSON の新機能の詳細については、BSON 6.3.0 および BSON 6.4.0 のリリースノートを参照してください。

  • ExceededTimeLimitエラーが発生した読み取り操作は再試行されます。

  • TLS ソケットKMS プロバイダーに関連するリクエストの問題を修正しました。

  • mongosh 認証を可能にするためにsaslContinueコマンドの基本64パディングを修正します。

  • ではなく countDocumentsを使用して を入力するため、オートコンプリートが可能になり、下流の入力の問題を防ぐことができます。Filter<Schema>Document

  • bulkWriteコマンドの$addToSetオプションの型エラーを修正します。 ドライバーは、 Documentまたはanyから型を拡張したり、任意の型のプロパティを使用したりする場合に、 $addToSet検証をスキップします。

  • ソケットを作成する時間が含まれないように、 ServerHeartbeatSucceededServerHeartbeatFailedイベントのハートビート期間を修正します。

  • カーソル変換ストリームからのエラーを受信するのではなく、適切にエラーを出力します。

  • ユーザー名とパスワードが提供されている場合にAmazon Web Servicesセッション トークンを任意にし、 Amazon Web Services SDK が認証リクエストを処理できるようにします。

このリリースの詳細については、Github の v6.4.0 リリースのハイライト を参照してください。

Node.js ドライバー v6.3 リリースには、次の機能が含まれています。

  • トポロジー内のノード間のモニタリング接続の動作を制御するためにserverMonitoringModeクライアント オプションを追加します。 このオプションには、 auto (デフォルト)、 poll 、またはstreamの値が指定されます。 詳細については、接続オプションガイドのこのオプションに関するエントリを参照してください。

    serverMonitoringMode オプションは、MongoClientOptions インスタンス内で、または接続stringオプションとして設定できます。 次の例は、 オプションをstreamに設定してクライアントを作成する方法を示しています。

    new MongoClient('<connection string>', { serverMonitoringMode: 'stream' });
  • serverApiクライアント オプションが設定されている場合の接続リークを修正します。

  • contentTypealiases GridFS オプションを廃止します。 contentTypealiasesファイルのコンテンツタイプとエイリアスを保存するには、metadata ドキュメントに フィールドと フィールドを追加します。

このリリースの詳細については、v6.3.0 リリースのハイライト を参照してください。

Node.js ドライバー v6.2 リリースには、次の機能が含まれています。

  • 次の画像に示すように、タイプの色可視化を含めるために、 bsonパッケージ バージョンを 6.2.0 にアップデートします。

    色付きの印刷を表示するターミナルのスクリーンショット

    詳細については、 BSON v6.2.0 リリースノート を参照してください。

  • 一括書き込みエラータイプのresult.insertedIdsプロパティに、正常に挿入されたドキュメントの_id値が含まれていることを確認します。 以前のバージョンでは、一括書き込み操作が挿入操作を拒否する場合、 result.insertedIdsプロパティには試行されたすべての挿入の_id値が含まれていました。

  • 時系列コレクションでfindOne()メソッドを実行中に作成された暗黙的なセッションは、操作の結果に関係なく閉じます。

  • .文字で始まる名前または末尾のコレクションを作成できるようにします。 この変更により、ドライバーのデータベースとコレクションの名前をチェックする動作がサーバーの と一致します。

このリリースの詳細については、v6.2.0 リリースのハイライト を参照してください。

Node.js ドライバー v6.1 リリースには、次の機能が含まれています。

  • bsonパッケージバージョンを 6.1.0 に更新して、Decimal128.fromStringWithRounding() メソッドを公開します。詳細については、v6.1.0 BSONリリースノート を参照してください。

  • 認証とともに IAM AssumeRoleWithWebIdentityアクションを使用して認証するときに、リージョン設定の環境変数を検出します。MONGODB-AWSリージョン オプションを使用するようにドライバーに指示するには、次の環境変数の両方を設定する必要があります。

    • AWS_STS_REGIONAL_ENDPOINTS

    • AWS_REGION

    MONGODB-AWS認証メカニズムを使用するときにリージョン設定を設定する方法については、 認証メカニズムガイドの MONGODB-AWSセクションの [Web Identity Token]タブを参照してください。

  • ChangeStream型のnext()メソッドへの再帰呼び出しによって発生するメモリ リークの問題を修正します。

このリリースの詳細については、v6.1.0 リリースのハイライト を参照してください。

警告

v6.0 での重大な変更

このドライバー バージョンでは、重大な変更が導入されています。 これらの変更のリストについては、アップグレード ガイドの「バージョン6.0重大な変更 」セクションを参照してください。

Node.js ドライバー v6.0 リリースには、次の機能が含まれています。

重要

非推奨に関する通知

MongoClientOptionsタイプのsslプレフィックス付きオプションはすべて非推奨です。 また、 tlsCertificateFileオプションは非推奨です。

代わりに、証明書をSecureContextオブジェクトに保存するか、 MongoClientOptionsインスタンスでtlsプレフィックス付きオプションを設定する必要があります。 詳細については、 「 接続で TLS を有効にする 」を参照してください。

  • addUser()ヘルパー コマンドのサポートを廃止します。 代わりにcreateUser MongoDB Shell コマンドを使用してください。

  • collStats操作のサポートを廃止します。 代わりに、 $collStats集計演算子を使用してください。

  • ConnectionPoolCreatedEvent型のoptionsフィールドには、デフォルト以外のプール オプションである次のフィールドのみが含まれます。

    • maxConnecting

    • maxPoolSize

    • minPoolSize

    • maxIdleTimeMS

    • waitQueueTimeoutMS

  • ドライバーは、 インスタンスを作成したときではなく、 メソッドを呼び出したときに、 tlsCAFiletlsCertificateKeyFile接続オプションとMongoClient.connect()MongoClient 接続オプションで設定されているファイルを非同期に読み取ります。

  • keepAlivekeepAliveInitialDelay接続オプションを削除します。 keepAliveの値は永続的にtrueに設定され、 keepAliveInitialDelayの値は 300000 ミリ秒(300 秒)に設定されます。

    システム レベルでキープアライブ設定を設定する方法については、 「 TCP キープアライブ時間が MongoDB デプロイに及ぼす影響 」を参照してください。 サーバー マニュアルの FAQ エントリ。

  • Db.command()メソッドの次のオプションを削除します。

    • willRetryWrite

    • omitReadPreference

    • writeConcern

    • explain

    • readConcern

    • collation

    • maxTimeMS

    • comment

    • retryWrites

    • dbName

    • authdb

    • noResponse

    これらのオプションをDb.command()メソッドに渡すことはできませんが、コマンド ドキュメントで設定できます。 詳細については、「 コマンドの実行 」ガイドの「コマンド オプション 」セクションを参照してください。

このリリースの詳細については、v6.0.0 リリースのハイライト を参照してください。

戻る

トランザクションの実行

項目一覧