我在我的应用程序中使用了很多预保存的钩子,但是由于某种原因,这个钩子不起作用:
const schema = new Schema({
// ...
updated: {
type: Date,
default: Date.now,
required: true,
},
// ...
});
schema.pre('save', function(next) {
if (!this.isModified()) return next();
let date = new Date();
this.set('updated', date);
// this.updated = new Date(); // doesn't work either :O
this.markModified('updated');
console.log('mongoose pre-save', this.updated, date);
return next();
});
我已经尝试了一些此代码的排列,标记修饰符等,以尝试使该值在预保存时有所变动,但出于某些原因不会...
"mongoose": "^5.0.6",