ホーム>source

マングースのドキュメントは言う:

Mongoose-Schema-pre

ウィズウィズ

また、プレフック「deleteOne」についても:
マングース-ミドルウェア

ウィズウィズ

したがって、deleteOneはDocumentおよびQueryフックにあります。これを使用してみましょう。

ウィズウィズ

結果:これはドキュメントではなくクエリを参照します。どうして?

Schema.prototype.pre():
Parameters:
The «String|RegExp» method name or regular expression to match method name
[options] «Object»
[options.document] «Boolean» If name is a hook for both document and query middleware, set to true to run on document middleware.
[options.query] «Boolean» If name is a hook for both document and query middleware, set to true to run on query middleware.
callback «Function»

あなたの答え
  • 解決した方法 # 1

    ああ、それはドキュメントから明確ではありません、「これ」は資料#deleteOne。

    したがって、「deleteOne」フックの正しい使用法は次のとおりです。
    モデル内:

    ウィズウィズ
    

    後のコード(コントローラーなど):

    ウィズウィズ
    

    ここで「これ」はドキュメントを指します DocSchema.pre('deleteOne', { document: true }, function(next) { console.log(this) next() })

  • 前へ java - JPAクエリ:サブクエリをグループ化条件に結合する
  • 次へ arrays - データオブジェクトVuejsをループしてメニューを作成する