Jeg vil sige, at dette er vejen at gå. før middleware passer præcis til dette behov, og jeg kender ikke nogen anden måde. Det er faktisk det, jeg gør i alle mine skemaer.
Hvad du dog skal være opmærksom på, er forskellen mellem dokument og forespørgsel middleware.Dokument middleware udføres for init , validate , save og remove operationer. Der, this henviser til dokumentet:
schema.pre('save', function(next) {
this.increment();
return next();
});
Forespørgsel middleware udføres for count , find , findOne , findOneAndRemove , findOneAndUpdate og update operationer. Der, this henviser til forespørgselsobjektet. Opdatering af versionsfeltet til sådanne operationer vil se sådan ud:
schema.pre('update', function( next ) {
this.update({}, { $inc: { __v: 1 } }, next );
});
Kilde:mongoose-dokumentation .