Mongoose - 如何将模式中间件放入'init'事件?

rag*_*lka 13 middleware mongoose mongodb node.js

Mongoose文档中建议我应该能够使用插入"init"钩子的中间件来控制流程.

但是,到目前为止,我只能通过"保存"和"验证"获得成功.

当我做这样的事情时,这些中间件都不会被调用:

MySchema.post( "init", function (next) { console.log("post init") });
MySchema.pre( "init", function (next) { console.log("pre init") });
Run Code Online (Sandbox Code Playgroud)

我错过了什么吗?

rag*_*lka 23

事实证明,在创建新模型时不会触发"init"事件/钩子,只有在从数据库加载现有模型时才会触发它.看来我应该使用pre/validate挂钩代替.