更新:
5.2.10がリリースされ、ここからダウンロードできます。
ドキュメントの詳細については、https://mongoosejs.com/docs/deprecations
のページをご覧ください。この問題とその修正の詳細については、https://github.com/Automattic/mongoose/issues/6880
元の回答:
Mongoose 5.2.9バージョンは、ネイティブmongodbドライバーを3.1.3にアップグレードしました。このバージョンでは、非推奨のネイティブドライバーメソッドが呼び出されたときに警告メッセージをスローするように変更が追加されました。
フィールド
オプションは廃止され、 Projection
に置き換えられました オプション。
フィールドオプションをプロジェクションに置き換えるには、マングースが最後に変更を加えるのを待つ必要があります。修正は5.2.10リリースで予定されています。
とりあえず、5.2.8に戻ると、すべての非推奨の警告が抑制されます。
npm install [email protected]
他のすべての非推奨の警告については、ケースバイケースでそれらにアプローチする必要があります。
他の収集方法を使用すると、他の非推奨の警告が表示されます。
DeprecationWarning: collection.findAndModify is deprecated. Use findOneAndUpdate, findOneAndReplace or findOneAndDelete instead.
DeprecationWarning: collection.remove is deprecated. Use deleteOne, deleteMany, or bulkWrite instead.
DeprecationWarning: collection.update is deprecated. Use updateOne, updateMany, or bulkWrite instead.
DeprecationWarning: collection.save is deprecated. Use insertOne, insertMany, updateOne, or updateMany instead.
DeprecationWarning: collection.ensureIndex is deprecated. Use createIndexes instead.
すべてのfindOne*
マングースの書き込みメソッドは、デフォルトで findAndModify
を使用します mongodbネイティブドライバーで非推奨になっているメソッド。
mongoose.set('useFindAndModify'、false);
を使用します mongoooseに適切なfindOne*
を呼び出させる mongodbネイティブドライバーのメソッド。
remove
の場合 およびupdate
これらの呼び出しをdelete*
に置き換えます およびupdate*
それぞれの方法。
save
の場合 これらの呼び出しをinsert*
に置き換えます /更新*コード> それぞれの方法。
mongoose.set('useCreateIndex'、true);
を使用します mongoooseにcreateIndex
を呼び出させる mongodbネイティブドライバーのメソッド。