そこで、私は PostgreSQL データベースを持っていましたが、それを MongoDB に移行してパフォーマンスを向上させることにしました。最終的に次のモデルを構築しました。
Departamento と Distribuidora の 2 つの主要なドキュメント。Departamento 内には、この部門内で働く従業員を表す Funcionarios という配列があります。
ただし、Distribuidora の内部では、状況はもう少し複雑です。私は、製品とそれらが配布されている都市を表すドキュメントのペアの配列を持っています。これは私の RDBMS では 3 項関係だったので、製品と都市のどのペアが Distribuidora ドキュメントに関連しているかを知ることが重要です。それだけでは不十分な場合は、すべての製品に Departamento ドキュメント (departamento_id) を参照する ID があります。
ここでの問題は、このモデルにはパフォーマンスの最適化が欠けていることです。配列内の要素で複雑なクエリを実行するには、アンワインド操作を繰り返し実行する必要があり、両方のコレクションから情報を取得するためにデータをピボットする必要があるため、クエリは非常に遅くなります。
したがって、できれば配列のない単一のドキュメントで、このモデルをできる限り非正規化したいのですが、それを行う適切な方法が思いつきません。この面倒な作業を手伝ってくれませんか?よろしくお願いします。