I'm new to express and mongoose and I'm trying to understand handling data validation.
I have divided up my code into controller, service and dao (model) layers.
In php I'm used to doing my validation in controller layer. If the validation fails I can pass back the 4xx response.
I was tempted to do this in my express controller however after reading about the mongoose validators I'm now unsure. It seems to be the general pattern that you have validators on your mongoose schema. From what I can tell this only covers updating and creating new records. This schema validation doesn't cover methods like find().
So is it a common pattern to validate user data in the controller as well? If so would I not be validating input 3 times in some cases (client, controller, db)?