问题描述
我想在 pre-hook 中使用多种方法执行相同的脚本,如下所示:
UserSchema.pre("findOne",function(next) {
console.log("Common code");
});
&
UserSchema.pre("findOneAndUpdate",function(next) {
console.log("Common code");
});
因此,正如您在上述 2 个脚本中所注意到的,它们都执行相同的代码但具有不同的方法:findOne
& findOneAndUpdate
。
解决方法
您可以将所有方法以数组的形式作为前/后钩子方法的第一个参数传递,如下所示:
UserSchema.pre(["findOne","findOneAndUpdate"],function(next) { // ["method1","method2","method3"...]
console.log("Common code");
});
现在您可以为多个方法注册并执行相同的脚本。