Я создаю приложение (Express + MongoDB + Mongoose), где документы естественно группируются группами. Каждому запросу в базу данных будет необходимо только доступ к документам из одной группы. Поэтому я считаю хорошей идеей разделить каждую группу на свою коллекцию ради производительности.
Теперь я собираюсь использовать одну и ту же схему для каждой из этих коллекций, потому что они будут хранить один и тот же тип документов. Раньше у меня был единственный объект Model, потому что у меня было все в одной коллекции, но теперь мне нужно несколько моделей, по одному на группу.
Можно ли создать новый объект модели по каждому запросу (используя общую схему) или это слишком дорого? Что было бы хорошим архитектурным решением в этом случае?
Лучший подход, который я мог бы придумать, - создать модель в первый раз, когда появится запрос на сбор, а затем кешировать модели в словаре для быстрого доступа.
Я думаю, что лучший подход зависит от стоимости создания нового объекта модели по каждому запросу.
Спасибо!