Puoi farlo usando Mongoose 'validate' middleware in modo da avere accesso a tutti i campi:
ASchema.pre('validate', function(next) {
if (this.startDate > this.endDate) {
next(new Error('End Date must be greater than Start Date'));
} else {
next();
}
});
Tieni presente che devi racchiudere il tuo messaggio di errore di convalida in un Error JavaScript oggetto quando si chiama next per segnalare un errore di convalida.