我是 MongoDB 和 MongooseJS 的新手。我也很不擅长创建数据库,对不起。
第一个问题
子文档和人口有什么区别?查看文档示例,Parent-Children subdoc 似乎与 Person-Stories 人口非常相似。
数据库架构问题
场景:用户可以创建多个 Canvas。每个 Canvas 可以承载多个形状。每个形状可以是 2 种类型:简单或复杂。简单形状可以是方形或圆形(对象)。复杂形状由 Frame 和 Material 组成。
Canvas
|
Shape
/ \
Simple Complex: Frame, Material
/ \
Square Circle
现在,一个 Shape 只能分配给 1 个 Canvas,但可以在 Canvas 之间移动或单独居住在 Canvas 之外。框架和材质可以独立创建(单独存在)并添加到复杂形状(每个复杂形状只能有 1 个框架和 1 个材质)。
我必须实现的一些查询是询问特定 Canvas 中的所有形状,或者使用某种材料的所有形状,或者再次询问形状使用的所有框架。
由于我不清楚 sub-doc 和 population 之间的区别,我什至不知道如何开始......任何帮助或示例将不胜感激(我不期待完整且有效的数据库模式)。