我想用猫鼬
pre
和
post
挂接我的MongoDB后端,以便比较文档在保存前和保存后的状态,以便根据所做的更改触发其他一些事件。但是到目前为止,我在通过蒙古斯获取文档时遇到了困难
之前
钩子。
根据docs“预挂接对doc.save()和doc.update()都有效。在这两种情况下,这都是指文档本身……”所以我试过了。首先,在我的模型/模式中,我有以下代码:
let Schema = mongoose
.Schema(CustomerSchema, {
timestamps: true
})
.pre("findOneAndUpdate", function(next) {
trigger.preSave(next);
})
// other hooks
}
…然后在我的触发器文件中,我有以下代码:
exports.preSave = function(next) {
console.log("this: ", this);
}
};
但这是登录到控制台的内容:
此:保存前:【函数】,保存后:【异步函数】
很明显这不起作用。这并没有像我希望的那样把文件注销。为什么是
this
不是这里的文档本身,就像文档本身显示的那样?有什么方法可以让我用
之前
胡克?如果没有,是否还有其他方法可以实现这一点?