Mongoose 预中间件与 findByIdAndDelete

Sha*_*ika 4 mongoose mongodb node.js

我正在学习 Udemy for Node js 课程。猫鼬预中间件与删除一起使用,如下所示。

ReviewSchema.pre('remove', function() {
  // code goes here
});
Run Code Online (Sandbox Code Playgroud)

但我的实现不同,我想使用 findByIdAndDelete。这是我的代码。

ReviewSchema.pre('findByIdAndDelete', function() {
  // code goes here
});
Run Code Online (Sandbox Code Playgroud)

但这个不会触发。我尝试在其中console.log,但它没有触发。我在这里做错了什么?

Dij*_*tra 5

我相信中间件不存在。查看文档

但是,如果您查看 的findByIdAndDelete文档您将看到它触发了以下中间件:

  • findOneAndDelete

所以,而不是ReviewSchema.pre('findByIdAndDelete', ...)尝试ReviewSchema.pre('findOneAndDelete', ...)