Para quem está começando com o Node.js recomendo seguir a stack MERN (MongoDB, Express, React e Node.js). No modelo MVC, basicamente os controllers ficam responsáveis por manipular seu banco de dados, o model seria a estruturação de seu banco de dados, e comumente cada uma dessas responsabilidades ficam em seus próprios diretórios, 'controllers' e 'models'. A view pode ser referida como as respostas que sua API mandará para o frontend ou a própria interface do usuário que enviará requests para o servidor e renderizará os dados de acordo com os dados adqueridos pela API. É muito comum ver projetos monorepos distribuídos da seguinte forma:
server
├── controllers
├── models
├── middlewares
├── routes
├── index.js
//...
web
├── src
├── components
├── pages
├── services
//...
O server cuida da manipulação dos dados com um serviço de API Rest por exemplo e a web cuida da renderização na parte do front-end, é claro que este é o feijão com arroz da MERN Stack, mas a ideia é esta. Há este artigo analytics-vidhya/implementation-of-mvc-rest-apis-in-expressjs caso queira saber mais como funciona o modelo MVC, a funcionalidade de cada estrutura e principalmente a organização dos diretórios, que na verdade não existe uma regra absoluta.