在Mongoose中,要在每次保存时更新当前日期的属性,可以使用Mongoose的中间件。Mongoose提供了一些生命周期中间件,如pre、post等,可以在文档保存前或保存后执行相应的操作。这里我们需要使用pre中间件,在保存文档之前更新属性。
首先,定义一个模式,例如:
const mongoose = require('mongoose');
const Schema = mongoose.Schema;
const ExampleSchema = new Schema({
name: String,
updatedAt: {
type: Date,
default: Date.now
}
});
ExampleSchema.pre('save', function(next) {
this.updatedAt = Date.now();
next();
});
const ExampleModel = mongoose.model('Example', ExampleSchema);
在这个例子中,我们定义了一个名为ExampleSchema
的模式,其中包含一个字符串属性name
和一个日期属性updatedAt
。我们使用pre
中间件,在保存文档之前更新updatedAt
属性的值为当前日期。
接下来,你可以使用ExampleModel
来创建和保存文档,每次保存时updatedAt
属性都会被更新为当前日期:
const example = new ExampleModel({ name: 'example' });
example.save(function(err) {
if (err) {
console.error(err);
} else {
console.log('Document saved successfully');
}
});
这样,每次保存文档时,updatedAt
属性都会被更新为当前日期。
领取专属 10元无门槛券
手把手带您无忧上云