MeteorJS を使用して、ユーザーがアイテム (テキスト、画像など) を作成し、これらをキャンバス上で共同して空間的に整理できるアプリケーションを作成しています。複数のキャンバスを作成できます。将来的には、複数のキャンバス間でアイテムが再利用またはコピーされる可能性があります (まだわかりません)。私はこれまで、コラボレーション (またはデータベース駆動型) アプリケーションを設計したことがありません。
ネストされた MeteorJS コレクションを作成する可能性を見つけることができませんでした。また、複数のコレクションを使用することと、コレクション内でオブジェクトの配列を使用することの (たとえば、スケーラビリティ、速度を考慮すると) (欠点) 利点について確信が持てません。設計パターンは次のようになります。
A:
Collection Canvases {
Canvas {
Array Items;
}
Canvas {
Array Items;
}
}
B:
Collection Items {
Item {
_id
}
Item {
_id
}
}
Collection Canvases {
Canvas {
Array ItemIDs;
}
Canvas {
Array ItemIDs;
}
}
それとも何か違うのでしょうか?