【发布时间】:2012-06-14 03:23:01
【问题描述】:
在我的项目中,它有 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。
【问题讨论】:
-
听起来倒退了——城市不是商店的属性吗?
-
是的,城市是商店的属性
标签: mongodb schema-design