廃止予定の警告
MongoDB Node.js ドライバー には、Mongoose ユーザーが認識しておくべき廃止予定のものがいくつかあります。Mongoose はこれらの廃止予定の警告を回避するためのオプションを提供していますが、これらのオプションがアプリケーションに問題を引き起こすかどうかをテストする必要があります。問題が発生した場合は GitHub で報告してください
概要
廃止予定の警告をすべて解決するには、次の手順に従ってください
findOneAndUpdate()
、findOneAndReplace()
、findOneAndDelete()
の呼び出しでrawResult: true
をincludeResultMetadata: 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 ドライバーに指示します。