廃止予定の警告

MongoDB Node.js ドライバー には、Mongoose ユーザーが認識しておくべき廃止予定のものがいくつかあります。Mongoose はこれらの廃止予定の警告を回避するためのオプションを提供していますが、これらのオプションがアプリケーションに問題を引き起こすかどうかをテストする必要があります。問題が発生した場合は GitHub で報告してください

概要

廃止予定の警告をすべて解決するには、次の手順に従ってください

  • findOneAndUpdate()findOneAndReplace()findOneAndDelete() の呼び出しで rawResult: trueincludeResultMetadata: true に置き換えます。

各廃止予定の警告の詳細については以下をお読みください。

rawResult

Mongoose 7.4.0 以降、findOneAndUpdate()rawResult オプションは廃止されました。代わりに、rawResult を置き換える MongoDB Node.js ドライバーの新しいオプションである includeResultMetadata オプションを使用してください。

// Replace this:
const doc = await Test.findOneAndUpdate(
  { name: 'Test' },
  { name: 'Test Testerson' },
  { rawResult: true }
);

// With this:
const doc = await Test.findOneAndUpdate(
  { name: 'Test' },
  { name: 'Test Testerson' },
  { includeResultMetadata: true }
);

rawResult オプションは Mongoose にのみ影響し、MongoDB Node.js ドライバーは依然として完全な結果メタデータを返します。Mongoose は単に生のドキュメントを解析するだけです。includeResultMetadata オプションは、ドキュメントのみを返して完全な ModifyResult オブジェクトを返さないよう MongoDB Node.js ドライバーに指示します。