Answers
其实官网的这篇设计哲学还是很不错的(
http://www.mongodb.org/display/DOCS/S...
)
MongoDB和传统SQL schema设计上最大的区别就是关于模型关系用什么方法表示比较好(在MongoDB里即可以用Link,又可以用Embedded)
简单总结下:
- FirstClass (比如“User”这种) 应该用独立的Collection
- "条目类型"的,应该 embedded
- 两个模型之间如果是包含关系,用 embedded
- 多对多关系,用 link(类似sql里面的foregin key)
- 如果一个模型,其可能存的对象很少,那么就用独立的collection,这样有助于mongodb server做缓存
- embedded方式不利于做复杂的关联,复杂的查询
- embedded方式性能很有优势,如果你有“性能”方面的要求,可以考虑用embbed
河蟹你内流满面
answered 11 years, 2 months ago