Обычно берут knex вместо PDO. Для Монги берут mongoose.
Для фильтрации можно поискать какой-нибудь причиндал вроде Swagger. Можно добавить Joi или Hapi для пущей остроты ощущений.
при валидации мы просто смотрим на соответствие формату, а при фильтрации - обычно сами приводим к нужному формату (напр. в PHP функция stripslashes())
Роман, я работаю с секвелайзом, он меня бесит из-за неудобной типизации. Но у меня js, так что приходится.
А еще любят туда припихнуть разной лишней ерунды, типа методов модели или вот валидации на уровне модели. Ищи потом где это все вызывается. рррр
stripslashes это не фильтрация, это санитайз. Или нормализация строк, если хотите. Этому не место в модели.