【发布时间】:2021-06-05 01:00:12
【问题描述】:
当对我的 mongo 集合执行查询时,我正在尝试调用某些钩子。
DispatchRequest.findOneAndUpdate({user_name:"umesh"},{email:"a@gmail.com"},function(err,doc){
if(err||!doc){
return console.log("no such document found!!!!!!!",err,doc)
}
})
在执行上述查询时,基于正则表达式的钩子永远不会被触发,而那些将字符串作为输入参数的钩子工作正常。 参考:mongoose docs for hooks
//never triggered
DispatchRequest.post(/^find/, async function () {
console.log("FIND HOOK POST IS CALLED")
});
//never triggered
DispatchRequest.pre(/^find/, function (next) {
console.log("FIND HOOK PRE IS CALLED")
});
//works fine
DispatchRequest.post("findOneAndUpdate", async function () {
console.log("findOneAndUpdate IS CALLED post", docToUpdate?.email)
});
//works fine
DispatchRequest.pre("findOneAndUpdate", async function () {
console.log("findOneAndUpdate IS CALLED pre", docToUpdate?.email)
});
});
猫鼬版本:5.0.3
【问题讨论】:
标签: javascript node.js mongodb mongoose