【发布时间】:2020-05-17 06:27:34
【问题描述】:
猫鼬的文档说:
Schema.prototype.pre():
参数:
«String|RegExp» 方法 名称或正则表达式匹配方法名称
[选项] «Object»
[options.document] «Boolean» 如果 name 是文档和查询中间件的挂钩,则设置为 true 以在文档中间件上运行。
[options.query] «Boolean» 如果 name 是文档和 查询中间件,设置为 true 以在查询中间件上运行。
回调«函数»
还有关于 pre hook "deleteOne":
Mongoose - middleware
以下文档功能支持文档中间件。在 文档中间件函数,这里指的是文档:
...deleteOne以下模型和查询函数支持查询中间件。在查询中间件 >functions 中,这指的是查询:
...deleteOne
所以,deleteOne 在 Document 和 Query 挂钩中,现在让我们尝试使用它:
mySchema.pre('deleteOne', { document: true }, function(next) {
console.log(this)
next()
})
结果:这是指查询,而不是文档。为什么?
【问题讨论】: