実際にdeleteOne()
をどのように呼び出しますか ユーザーのために?それをユーザーモデルで呼んでいますか、それともそのインスタンスで呼んでいますか?
これは、フック前のオプションパラメータのドキュメントに従って関連しているようです:
[options.document]«ブール値»nameがドキュメントミドルウェアとクエリミドルウェアの両方のフックである場合、ドキュメントミドルウェアで実行するにはtrueに設定します。たとえば、options.documentをtrueに設定して、このフックをQuery#deleteOne()ではなくDocument#deleteOne()に適用します。
https://mongoosejs.com/docs/api.html#schema_Schema-pre
さらに例を示します:
toySchema.pre('deleteOne', function() {
// Runs when you call `Toy.deleteOne()`
});
toySchema.pre('deleteOne', { document: true }, function() {
// Runs when you call `doc.deleteOne()`
});