在我的项目中,它有 3 个模型:
- 城市
- 广场
- 店铺
一个城市有广场和商店;一个广场有商店。
我最初的设计是为关系使用“外键”。(我是从mysql和jsut开始接mongodb的)
class City(Document):
name = StringField()
class Plaza(Document):
name = StringField()
city = ObjectIdField()
class Store(Document):
name = StringField()
city = ObjectIDField()
plaza = ObjectIdField()
我觉得这个设计很像sql的做法。
项目范围是这样的:5个城市;每个城市有5个广场;一个广场有200家商店。一家商店有许多产品(上面的代码中没有建模)
我将查询一个城市或一个广场的所有商店;一个城市的所有广场。
我应该在 City collection 中嵌入所有商店和广场吗?我听说不要在 mongodb 中使用引用,而是使用嵌入文档。在我的具体项目中,哪一个是更好的方法?对我来说,我对“外键”设计感到满意,但害怕不利用 mongodb。