MongoDB と MongooseJS は初めてです。データベースの作成も下手です。申し訳ありません。
最初の質問
サブドキュメントと人口の違いは何ですか? docs exampleを見ると、Parent-Children サブドキュメントは Person-Stories 母集団に非常に似ているようです。
データベース スキーマに関する質問
シナリオ: ユーザーは多数の Canvas を作成できます。各 Canvas は、多数の Shape をホストできます。各シェイプは、シンプルまたはコンプレックスの 2 つのタイプにすることができます。シンプルな形状は、正方形または円 (オブジェクト) です。複雑な形状は、フレームとマテリアルで構成されています。
Canvas
|
Shape
/ \
Simple Complex: Frame, Material
/ \
Square Circle
現在、形状は 1 つのキャンバスにのみ割り当てることができますが、キャンバス間で移動したり、キャンバスの外に単独で配置したりできます。フレームとマテリアルは独立して作成し (単独でライブ)、複雑なシェイプに追加できます (各複雑なシェイプは 1 つのフレームと 1 つのマテリアルのみを持つことができます)。
実装しなければならないクエリのいくつかは、特定の Canvas 内のすべての形状、特定のマテリアルを使用しているすべての形状、または形状によって使用されているすべてのフレームを要求するものです。
サブドキュメントと人口の違いは私には明確ではないので、どのように始めればよいかさえわかりません...助けや例をいただければ幸いです(完全で機能するデータベーススキーマは期待していません)。