Using Mongoose middleware
Mongoose middleware are functions that can intercept the process of the init, validate, save, and remove instance methods. Middleware are executed at the instance level and have two types: pre middleware and post middleware.
Using pre middleware
Pre middleware gets executed before the operation happens. For instance, a pre-save middleware will get executed before the saving of the document. This functionality makes pre middleware perfect for more complex validations and default values assignment.
A pre middleware is defined using the pre() method of the schema object, so validating your model using a pre middleware will look like the following code snippet:
UserSchema.pre('save', function(next) {
if (...) {
next()
} else {
next(new Error('An Error Occured'));
}
});Using post middleware
A post middleware gets executed after the operation happens. For instance, a post-save middleware will get executed after saving the document. This functionality makes post...