ドキュメントがグループごとに自然にクラスター化されるアプリケーション(Express + MongoDB + Mongoose)を作成しています。データベースへのすべてのクエリは、単一のグループのドキュメントにアクセスするだけで済みます。ですから、パフォーマンスのために、各グループを独自のコレクションに分けるのは良い考えだと思います。
次に、これらのコレクションのそれぞれに同じスキーマを使用します。これは、これらのコレクションが同じタイプのドキュメントを格納するためです。以前はすべてを単一のコレクションに持っていたため、以前は単一のModelオブジェクトを使用していましたが、現在はグループごとに1つずつ、複数のモデルが必要です。
リクエストごとに(共有スキーマを使用して)新しいModelオブジェクトを作成することをお勧めしますか、それともコストがかかりすぎますか?この場合、適切なアーキテクチャ上の決定は何でしょうか?
私が考えることができる最善のアプローチは、コレクションのリクエストが最初にあったときにモデルを作成し、次にモデルをディクショナリにキャッシュしてすばやくアクセスできるようにすることです。
最善のアプローチは、リクエストごとに新しいModelオブジェクトを作成するコストに依存すると思います。
ありがとう!