来自Mongoose JS文档:
schema.post('save', function (doc) {
console.log('%s has been saved', doc._id);
})
Run Code Online (Sandbox Code Playgroud)
有没有办法确定这是原始保存还是保存现有文档(更新)?
muZ*_*uZk 75
schema.pre('save', function (next) {
this.wasNew = this.isNew;
next();
});
schema.post('save', function () {
if (this.wasNew) {
// ...
}
});
Run Code Online (Sandbox Code Playgroud)
isNew是mongoose内部使用的密钥.将该值保存到wasNew预保存挂钩中的文档允许post保存挂钩知道这是现有文档还是新创建的文档.此外,wasNew除非您专门将其添加到架构中,否则不会将其提交到文档.