如何为多种方法注册相同的猫鼬钩子



我想用多种方法在预挂接中执行相同的脚本,如下所示:

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

&

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

因此,您可以在上面的两个脚本中注意到,它们都在执行相同的代码,但有不同的方法:findOne&CCD_ 2。

那么,有什么方法可以同时用相同的代码注册两个预挂钩吗?

您可以将数组形式的所有方法作为前/后挂钩方法中的第一个参数进行传递,如下所示:

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

现在你可以注册&对多个方法执行相同的脚本。

最新更新