sql >> データベース >  >> NoSQL >> MongoDB

MongoDBマングース非推奨の警告

    更新:

    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ネイティブドライバーのメソッド。



    1. Mongooseで既存のコレクションにアクセスするにはどうすればよいですか?

    2. 非同期サブタスクを使用した非同期カーソルの反復

    3. MongoDBでのマルチドキュメントACIDトランザクションの概要とその使用方法

    4. mgoGoサーバーで開いているファイルが多すぎます