文書がグループごとに自然にクラスター化されるアプリケーション(Express + MongoDB + Mongoose)を作成しています。データベースへのすべてのクエリは、単一グループのドキュメントにアクセスするだけで済みます。だから私は、パフォーマンスのために各グループを独自のコレクションに分けることをお勧めします。Mongoose - (MongoDB)の異なるコレクションの同じスキーマ
ここでは、同じタイプのドキュメントを格納するため、これらのコレクションごとに同じスキーマを使用します。以前はすべてを1つのコレクションに収めていましたが、今は1つのグループに複数のモデルが必要です。
(共有スキーマを使用して)リクエストごとに新しいModelオブジェクトを作成することをお勧めしますか、これは高額ですか?この場合、どのようなアーキテクチャ上の決定が良いでしょうか?
私が考えることができる最良のアプローチは、コレクションの要求が初めてあったときにモデルを作成してから、モデルをすぐにアクセスできるように辞書にキャッシュすることです。
私は最良のアプローチは、各リクエストで新しいModelオブジェクトを作成するコストにかかっていると思います。
ありがとうございます!
2つのコレクションを*別のDB *に保存していたときに、この問題が発生しました。その場合は、2つの異なるスキーマを作成することをお勧めしますが、同じスキーマ仕様オブジェクト(上記の{{}})を再利用できます。 (私が得たエラーは奇妙なものでした: "検証に失敗しました:path __vは必須です") – joeytwiddle