1

我想在 pre-hook 中使用多种方法执行相同的脚本,如下所示:

UserSchema.pre("findOne", function(next) {
    console.log("Common code");
});

&

UserSchema.pre("findOneAndUpdate", function(next) {
    console.log("Common code");
});

因此,正如您在上面的 2 个脚本中注意到的那样,它们都在执行相同的代码,但具有不同的方法:findOne& findOneAndUpdate

那么,有没有办法一次用相同的代码注册两个预挂钩?

4

1 回答 1

1

您可以将所有方法以数组的形式作为 pre/post 钩子方法中的第一个参数传递,如下所示:

UserSchema.pre(["findOne", "findOneAndUpdate"], function(next) {  // ["method1", "method2", "method3"...]
    console.log("Common code");
});

现在您可以为多个方法注册和执行相同的脚本。

于 2021-04-26T13:55:24.017 回答